采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,关于Socket通信流程图中accept()的位置,视频里的图和网上大部分图不一样。视频中是在connect后,网上广泛流传的是从connect前就阻塞了等待有连接请求。请问哪种是对的?
同学好,accept()函数功能是,从处于 established 状态的连接队列头部取出一个已经完成的连接,如果这个队列没有已经完成的连接,accept()函数就会阻塞,直到取出队列中已完成的用户连接为止。然后视频里面我们是假设有这么一种情况,客户端率先发起了connect请求,所以才有图里的内容
翻了翻W.RICHARD STEVENS的《 UNIX网络编程 卷1 套接字联网API》,根据第36页的话,服务器的accept()在客户端发起connect()之前就调用了,阻塞直到连接成功时返回
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.9k 27
2.7k 22
1.3k 15
1.5k 14
1.3k 14