Здравствуйте, izverg, Вы писали:
I>Посоветуйте в чём может быть дело? Почему клиент неожиданно решает что соединение разорвано?
К примеру, мой обработчик событий с асинхронными сокетами выглядит так:
case WM_ON_SOCKET:
//...
switch(WSAGETSELECTEVENT(lParam))
{
case FD_READ:
//...
case FD_WRITE:
//...
case FD_CLOSE:
//...
case FD_CONNECT:
//...
} // switch...
if(WSAGETSELECTERROR(lParam))
{
// печатать сообщение об ошибке
shutdown_socket(...);
}
А это сообщение это вовсе не ошибка, а информация, которая говорит о том, что текущая операция не может завершиться сразу. И оно понятно — сокеты-то асинхронные! Так что можешь игнорировать это сообщение. Попробуй