当前位置:人文都>经验>

三次握手没有完成怎么处理

经验 阅读(2.89W)

三次握手没有完成怎么处理

三次握手失败,那应该是说ack不匹配,而不是未等到远端报文。通过状态图可以知道,当前服务器是处于SYN_RCVD状态

对应的ack报文处理代码如下:

caseTCPS_SYS_RECEIVED:

if(SEQ_GT(tp->snd_una,ti->ti_ack)。

解决方案:SEQ_GET(ti->ti_ack,tp>snd_max)

gotodropwithreset;

xxx//接口从q0调入q,更新状态为ESTABLISHED等等。