C# 无法立即完成一个非阻挡性套接字操作

 

C# 无法立即完成一个非阻挡性套接字操作

分类: C/C++/C#/dotnet   3354人阅读  评论(0)  收藏  举报

今天使用C#的socket做一个监听端,同步socket,超时设置为5秒

recv = client.Receive(data);
 client.ReceiveTimeout = 5000;
运行过程中会出现异常:
无法立即完成一个非阻挡性套接字操作
socket默认情况下即为阻塞模式,见MSDN
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/fxref_system/html/44af69ac-dbe9-ad42-522e-4128bafe60e4.htm
从这里找到解决方法,
在socket的Receive方法前必须明确指明其为阻塞模式
即添加下面一句
client.Blocking = true;//client为一socket
看来这真的是一个bug
记录在这里,备查!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值