套接字轮询(selectwrite轮询模式)何时变为false?

时间:2012-02-16 16:44:08

标签: c# .net sockets

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

  

基于传递的轮询模式值的Socket的状态   模式参数。

     

模式:SelectRead

     

返回值:
  如果已调用Listen并且连接是,则返回true   未决的;

     

-OR -

     

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

     

-OR -

     

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

     

否则,返回false。

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

1 个答案:

答案 0 :(得分:0)

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