在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