Re: Socket with MFC
От: QZ  
Дата: 18.04.01 06:34
Оценка:
Здравствуйте SergeyRo, 16.04.2001 06:20:30 вы писали:

>Попутно я обнаружил следующее:

>Если соединение произошло нормально и затем я отключаю компьютер от локальной сети и вызываю
>функцию Send, то функция OnSend вызывается с кодом ошибки 0 (нет ошибок),
>но как такое может быть, данные ведь не передались !!! И как сделать так, чтобы OnSend вызывалась только
>после того как данные действительно были переданы или когда истек таймаут на их передачу !!!

Дело в реализации — когда данные переданы ядру для передачи,
Winsock считает, что они уже переданы. Такая же беда творится,
например, и на Solaris — обходить можно следующим образом —
выставлять на сокете LINGER и по закрытии сокета проверять, за какое время он был закрыт,
если это время равно LINGER timeout — считать, что данные не
переданы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.