——解决方案——————————————————–惭愧惭愧,我说的不对,计时器应该是在服务端,它发送了SYN,ACK报文后,若迟迟接不到对这个报文的回复,那么它就认为刚刚发送的报文丢失了,应该重新发送SYN,ACK报文,我说的这些不权威,计网书上没有提到,TCP/IP详解上不知道会不会有,你可以去看看。

我之前做过一个基于UDP的应用,主要就是考虑UDP开销小,UDP是不可靠的,但我们的需求是要可靠,这就得在应用层来做一些工作,比如加入CRC校验,设置定时器,客户端进行超时重传,理解到这里就够了吧。你去哪家的面试啊?我感觉问协议的不多啊 ——解决方案——————————————————–失败后就相当于DDOS攻击一样,会存在半联接,在超时之前,就会占用服务器资源。——解决方案——————————————————–说下自己的思路(理论基于BSD4.4的TCP/IP详解II)

1. 第三次握手失败,那应该是说ack不匹配而不是未等到远端报文。

2. 通过状态图可以知道,当前服务器是处于SYN_RCVD状态 对应的ack报文处理代码如下