%20%E8%BF%87%E7%A8%8B%E4%B8%AD%E9%80%9A%E8%BF%87%20RST%20%E9%87%8D%E7%BD%AE%20TCP%20%E8%BF%9E%E6%8E%A5.png)
有谁知道为什么 connect() 会在三方握手完成之前继续?
根据我通过 tcpdump 捕获的内容,客户端在发送三次握手的最后一个 ACK 之前发送了一个带有数据的 [PSH,ACK]。
使用了 NO_DELAY 选项。
连接代码:
do {
r1 = connect(socketfd, addr->ai_addr, addr->ai_addrlen);
} while (r1 < 0 && errno == EINTR);
有谁知道为什么 connect() 会在三方握手完成之前继续?
根据我通过 tcpdump 捕获的内容,客户端在发送三次握手的最后一个 ACK 之前发送了一个带有数据的 [PSH,ACK]。
使用了 NO_DELAY 选项。
连接代码:
do {
r1 = connect(socketfd, addr->ai_addr, addr->ai_addrlen);
} while (r1 < 0 && errno == EINTR);