作者g66932007 (孤单的人)
看板C_Sharp
标题[问题] TcpCilent 连线状况
时间Tue May 15 10:32:55 2018
请问用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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1526351577.A.CBD.html
1F:→ smmoon: 你有收到timeout吗? 你可以试试看多少c会爆s 05/16 16:54