Dil*_*789 4 .net c# sockets vb.net
在VB.net中,我使用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
Run Code Online (Sandbox Code Playgroud)
我想,如果客户端断开连接,至少GetStream()调用会抛出一个异常,但是我关闭了另一个应用程序但它仍然没有...
谢谢.
编辑 轮询客户端.建议使用但不能解决问题.如果客户端没有'acutally'连接可用,则返回0.
关键是我试图让连接保持打开状态,并允许我通过同一个套接字连接多次接收数据.