1
3
唯一可以检查的方法是在非阻塞套接字上执行非法操作,并检查它是否以预期的方式失败。几乎不是最坚固的设计。
除非使用
WSAIoctl
或
ioctlsocket
具有
|
2
1
刚刚回答了同样的问题 here 所以这里有一个复制粘贴,希望它有帮助: 以前,你可以打电话 WSAIsBlocking 以确定这一点。如果您正在管理遗留代码,这可能仍然是一个选项。 否则,您可以在socket api上编写一个简单的抽象层。由于默认情况下所有套接字都是阻塞的,所以您可以维护一个内部标志,并通过API强制所有套接字操作,以便始终了解状态。 下面是一个跨平台的代码片段,用于设置/获取阻塞模式,尽管它不能完全满足您在Windows上的需要:
|
3
0
从msdn返回 connect() :
|
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |