套接字轮询(选择写入轮询模式)何时变为false

本文关键字:何时变 false 模式 选择 套接字 | 更新日期: 2023-09-27 18:24:56

Socket.Poll方法的返回值,如msdn:中所写

套接字的状态基于在模式参数。

模式:选择读取

返回值:
如果已调用Listen并且连接为悬而未决的

-或-

如果数据可供读取,则为true;

-或-

如果连接已关闭、重置或终止,则为true;

否则,返回false。

在我看来,socket.poll方法总是会返回true。。。我很困惑。对于poll方法来说,由于前面两个原因返回true似乎是明智的,但对于第三个原因(如果连接已关闭、重置或终止,则返回true;),它不应该返回false吗?出于上述原因,投票结果为真的原因是什么?

套接字轮询(选择写入轮询模式)何时变为false

第三种情况的原因是,您可以检测到客户端(如果您在客户端,则是服务器)断开连接,进行应用程序级清理,然后关闭该套接字,从而释放相关的操作系统资源。