socket在设为非阻塞模式时,send函数阻塞无法返回!(WINDOWS BUG?)

colorknight 2004-06-25 06:12:37
一个客户端SOCKET在创建后设为非阻塞模式用如下语句:
ioctlsocket(Socket, FIONBIO, &dwArgv);当数据量小时工作正常,可是当数据量大时发现调用send函数后,send函数无法返回!我确认是send无法返回,因为我在执行此语句的前后都有打输出信息。不知道这是怎么回事。
希望各位踊跃发言!
...全文
174 点赞 收藏 6
写回复
6 条回复
colorknight 2004年06月25日
各位惭愧啊!惭愧啊!
我的非阻塞模式没设对,用错了!耽误了我这么旧!
耽误各位了!非常感谢大家!
回复 点赞
ljan 2004年06月25日
先判断下非阻塞设置是否成功,如果成功设置的话,非阻塞模式应该不管数据大小,立刻返回的
回复 点赞
ljan 2004年06月25日
把你send那个地方贴出来吧,不应该返回不了吧
回复 点赞
PiggyXP 2004年06月25日
设为非阻塞模式以后无论发送成功与否都是立即返回的啊,我每次都是这样的,没有遇到过问题啊

是不是楼主的代码的问题??
回复 点赞
colorknight 2004年06月25日
你指谁的缓冲区?
非阻塞模式下,如果发不出去它是不是应该立刻返回可以发出的字节?
回复 点赞
foxmail 2004年06月25日
是不是缓冲区不够?
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7880

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告