读书人

关于SOCKET阻塞有关问题

发布时间: 2012-07-29 15:26:14 作者: rapoo

关于SOCKET阻塞问题
在网上看了一些SOCKET阻塞的文章,有些不明白在此提问:

例如:
Server端:
accept(...); //在这等待连接
recv(...); //连接后接收消息


computer端:
connet(...); //请求连接
//这里我就不做send了,是为了测试服务端阻塞的问题

程序逻辑应该是:
服务器端等待客户端的连接,连接后等待客户端发送的消息。
由于这里客户端没有send消息,服务器就应该永远收不到消息,哪也就应该处于一直recv的状态。但是本人写了一个mode发现服务器仍然会往下执行。
提问:
这里为什么没有处于一直接收的状态,而往下执行了。



[解决办法]
你设置了非阻塞模式了?非阻塞的话,立刻有返回的。
[解决办法]
不知道楼主是设置了非阻塞还是recv了监听套接字,自己检查检查吧。
[解决办法]
在实际使用中非阻塞加+select或者加POLL要比阻塞更加好用
[解决办法]

探讨

你设置了非阻塞模式了?非阻塞的话,立刻有返回的。

读书人网 >C语言

热点推荐