全站数据
8 4 2 0 5 8 1

VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept

灯塔教师圈 | 教育先行,筑梦人生!         
问题更新日期:2024-05-05 08:20:20

问题描述

VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept,在线求解答
精选答案
最佳答案

阻塞就是说 accept() 执行时会一直停留在此调用中,直到返回正确的 connfd 前,不会执行 accept() 之后的代码。

非阻塞就是说 accept() 执行时会立即返回结果,成功就返回正确的 connfd ,失败就返回相应错误码。 相应的代码就要不停的 accept() ,并处理成功和失败的情况,但是因为 accept() 能快速返回结果,程序就很好的立即这个间隙,做此其他更有意义的事件。上面描述的过程并不完全准确,具体原理建议阅读 UNIX网络编程 (豆瓣)