unix网络编程第16章最后个问答题。问题如下:在16.3节说过,来自对端的数据有可能在本端的connect调用返回前到达套接字,这是如何发生的??求助
4条回答 默认 最新
gqtcgq 2015-04-27 04:55关注正常的阻塞情况下,connect函数的调用,会引起客户端的TCP发送SYN包,然后等待接收服务端的SYN+ACK, 收到之后发送ACK,此时TCP链接已经建立,connect立即返回。 如果服务端在连接建立之后立即发送数据,而客户端却异常繁忙,虽然客户端的内核TCP协议栈中,链接已经建立起来了, 但是应用层的connect,却因为得不到调度而暂时无法返回,那么,服务端数据在connect返回之前到来也是有可能的。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报