CAsyncSocket. OnReceive() перестает вызываться.
От: hdg700  
Дата: 31.07.09 13:55
Оценка:
Всем добрый день.
Клиент-серверное приложение.
Клиент написан на MFC с использованием CAsyncSocket.

Так вот. Очень редко клиент перестает отвечать на действия пользователя.
Но сама программа не зависает, в привычном понимании этого слова, а просто перестаёт получать сообщения от сервера (назовем это засыпанием, чтоб не путаться) , причем соединение не рвётся, что самое непонятное.

Происходит это не у всех пользователей, а только у некоторых (и только у них). У меня самого ниразу программа не засыпала (даже под вайном на линуксе), поэтому понять, в чем дело и выделить какие-либо закономерности мне очень не легко.

Логи клиента показали, что во время этого засыпания сообщения посылаются без каких-либо ошибок, WSAGetLastError() возвращает 0, а в OnReceive() программа вообще не попадает, хотя до этого она может долгое время нормально "общаться" с сервером.

Прошу поделиться хоть какими-нибудь соображениями, потому что я просто уже не знаю, где копать.
Сервер я пока не берусь проверять, потому что зависания только у определенных пользователей, как будто это зависит, например, от их связи с интернетом или их комьютера.

Буду благодарен любой помощи. Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.