RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Программирование сокетов


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Igor Vaskov, http://www.granit.msk.ru
To : All
Subj : Программирование сокетов

Подскажите, как в неблокированном сокете узнать не отвалился ли клиент?

Ситуация такая. Клиент закрывает соединение. Как на сервере достоверно узнать об этом?

rc:=getsockopt(xSock,SOL_SOCKET,SO_ERROR,@B, hLen);

Проверяется на localhost петле.
Выдает всегда в переменную "В" ноль. Результат работы не зависит от состояния соединения. Может я не прав относительно SOL_SOCKET, но с IPPROTO_TCP не работает вообще (rc=-1, errno = 10042). Может есть еще какие-то способы? Если кто обладает куском своего или чужого кода на эту тему - киньте в меня, пожалуйста, мылом.

Sun 27 Nov 2005 22:44 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.7.5) Gecko/20050




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.