![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinSock: определение закрытия соед. с
GL © (2003-02-27 22:35:00)Допустим я написал программу, которая соединяется telnet. Компьютер, к которому я подключаюсь, передал некоторые данные и закрыл соединение. Как програмно определить, что соединение закрыто?
Заранее спасибо все ответившим.
Alex Konshin (2003-03-01 07:47:00) [1]Мужики, ну чего вы опять гадаете? Пока нам не скажут, что он использовал в этой самой программе для работы с сокетами, мы один черт ничего посоветовать не сможем. А истец уже и не появляется.
Digitman (2003-02-28 10:37:00) [2]а что, если какой-то там telnet фигурирует, то это подразумевает только блок.режим работы гнезда ? асинхронные гнездовые нотификации, надо понимать, упразднили ? telnet-то здесь - вообще ни при чем, я так себе думаю)
Dimka Maslov (2003-02-28 09:57:00) [3]Вот цитата из MSDN
"If no error occurs, recv returns the number of bytes received. If the connection has been gracefully closed, the return value is zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError."
Что означает:
При отсутствии ошибок функция recv возвращает количество принятых байт. Если соединение корректно закрыто, возвращаемое значение - ноль. В остальных случаях возвращается SOCKET_ERROR и специфический код ошибки может получен вызовом WSAGetLastError
Polevi (2003-02-28 09:42:00) [4]>Dimka Maslov © (28.02.03 09:38)
всегда ?
Dimka Maslov (2003-02-28 09:38:00) [5]Когда сервер разорвал соединение, функция recv, вызванная клиентом, возвращает ноль.
Alex Konshin (2003-02-28 08:36:00) [6]Ты получишь сообщение об этом.
Digitman (2003-02-28 08:18:00) [7]а как ты определяешь, что оно открыто ?