В 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
Я бы подумал, что, по крайней мере, вызов GetStream () вызовет исключение, если клиент был отключен, но я закрыл другое приложение, а оно все еще не ...
Спасибо.
EDIT
Был предложен опрос клиента. Доступно, но это не решает проблему. Если клиент не «подключен», он просто возвращает 0.
Ключ в том, что я пытаюсь разрешить соединение оставаться открытым и разрешить мне получать данные несколько раз через одно и то же сокетное соединение.