2012-02-16 80 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