Определить отключение сокета от сервера - C#
Формулировка задачи:
Нашёл пару тем на форуме но не понял как сделать Там написано что при нормальном отключение сервер шлёт сообщение длиной 0 байт, но как его отловить при использовании стримов не понятно.
Читаю с сокета в отдельном потоке:
public static void DoWork() { NetworkStream ns; BinaryReader br; ns = new NetworkStream(socket); br = new BinaryReader(ns); while (true) { if (ns.DataAvailable) { // тут читаю данные } else Thread.Sleep(10); } }
Пишу клиентское приложение, т.е. наверное будет наоборот - отключение сервера от сокета
Решение задачи: «Определить отключение сокета от сервера»
textual
Листинг программы
byte[] buffer = new byte[1024]; int read; while((read = ns.Read(buffer, 0, buffer.Length) > 0) { // работаем с данными из буфера }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д