Определить отключение сокета от сервера - 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) {
// работаем с данными из буфера
}