[問題] TcpCilent 連線狀況

作者: g66932007 (孤單的人)   2018-05-15 10:32:55
請問用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就爆了
作者: smmoon (邦)   2018-05-16 16:54:00
你有收到timeout嗎? 你可以試試看多少c會爆s
作者: WoodChen (木頭)   2018-05-17 22:46:00

Links booklink

Contact Us: admin [ a t ] ucptt.com