2012-02-16 50 views
0

Socket.Poll方法的返回值什么是写在msdn套接字轮询(selectwrite轮询模式)何时变为false?

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

模式:SelectRead

返回值:
真要是听已经调用了一个连接 待定;

- 或 -

真,如果数据可用于阅读;

- 或 -

真如果连接已经关闭,复位,或终止;

否则返回false。

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

回答

0

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

+0

然后,我将如何能够判断是否属于这种情况? – Xel 2012-02-16 17:39:58

+0

您尝试从套接字读取。如果失败了,那就有错误。 – 2012-02-16 18:23:14

+0

然后轮询是无用的,因为我仍然必须从套接字读取它是否断开。 – Xel 2012-02-16 19:07:39