有谁知道为什么 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);