→ smmoon: 你有收到timeout嗎? 你可以試試看多少c會爆s 05/16 16:54
請問用TCPClient socket 去做server - client 連線
在client 端要怎麼去檢查是否還連線呢?
用了幾個方法 還是無法正確告知已斷線
return !(socket.Poll(1, SelectMode.SelectRead) && socket.Available == 0);
byte[] testByte = new byte[1];
//使用Peek測試連線是否仍存在
if (socket.Connected && socket.Poll(0, SelectMode.SelectRead))
notclosed = (socket.Receive(testByte, SocketFlags.Peek) ==
0);
client.TcpClient.Connected && client.TcpClient.Client.Connected
以上都會回傳true 即使斷線了...
難道要一直跟server request data 來驗證是否連線嗎?
這樣client一多 server就爆了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.219.34.220
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1526351577.A.CBD.html