Здравствуйте, Polion, Вы писали:
P>Суть проблемы в следующем не получается нормально обрабатывать разрыв соединения клиентом (если он неправильно завершил соединение), как правильно реализовать проверку по TimeOut клиентов. Да вообще хотелось бы услышать рекомендации как лучше сделать и что исправить
.
P>PS: Код наверное жутко кривой но это все только из за того что программировать начал учиться совсем недавно
Отсоединение клиента может случиться в двух случаях:
— клиент завершает работу и самостоятельно посылает команду отсоединения;
— с клиентом что-то случилось и он не отвечает.
В первом случае все ок, во втором — сервер не знает о том, что клиент мертв.
Для этого надо клиентам через определенный интервал времени слать серверу сообщения о том,
что они еще живы. По истечении времени, равного таймауту, сервер поймет, кто из клиентов жив,
а кто уже умер.