阻塞模式和非阻塞模式

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 23:37   11   0

一般创建套接字都是创建的阻塞模式,阻塞模式情况下,要处理多个套接字的连接,就必须创建多个线程的连接,即一个典型的连接用一个线程。通过调用函数方法ioctlsocket,可以从阻塞模式变为非阻塞模式,

u_long ul=1;
SOCKET s=SOCKET(AF_INET,SOCKET_STREAM,0);
ioctlsocket(s,FIONBIO,(u_long*)&ul);

一旦套接字被设置于非阻塞模式,处理发送和接收数据或者管理连接的winsock调用将会立即返回,大多数情况下,调用失败的出错代码是
WSAEWOULDBLOCK,一位着请求操作在调用期间没有完成。如果去确定网络事件何时发生,如果需要自己不断调用函数去测试的话,程序的性能必然会受到影响,解决的办法便是提供了不
windows提供了不同的i/o模型

转载于:https://www.cnblogs.com/sdnyzhl/archive/2013/01/06/2847693.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP