在VB.net中,我使用TcpClient來檢索一串數據。我經常檢查.Connected屬性來驗證客戶端是否已連接,但即使客戶端斷開連接,仍會返回true。我可以使用什麼作爲解決方法?TcpClient.Connected返回true,但客戶端沒有連接,我可以使用什麼?
這是我當前的代碼一個精簡版:
Dim client as TcpClient = Nothing
client = listener.AcceptTcpClient
do while client.connected = true
dim stream as networkStream = client.GetStream()
dim bytes(1024) as byte
dim numCharRead as integer = stream.Read(bytes,0,bytes.length)
dim strRead as string = System.Text.Encoding.ASCII.GetString(bytes,0,i)
loop
我至少想通了GetStream()調用將拋出一個異常,如果客戶端斷開連接,但我已經關閉其他應用程序它仍然不...
謝謝。
編輯 輪詢Client.Available被建議但不能解決問題。如果客戶端不是'acutally'連接可用只返回0.
關鍵是我試圖讓連接保持開放,並允許我通過同一套接字連接多次接收數據。
這爲我工作,謝謝! – SeeCoolGuy 2016-01-26 22:29:42