Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отловить Error на TCP сервере на WinSock. [D7, WinXP]


FrykT ©   (2005-11-05 01:47:00) 

доброго времени суток!
Возникла следующая проблема,
сделал TCP-сервер на Винсоке (1,1). При отключении клиента в нормальном порядке на сервере возникает событие окну, в lParam содержится FD_CLOSE, в wParam - какой сокет отключился. А если на клиенте RESET нажать, или снять задачу с диспетчера, то на сервере событий никаких не возникает! Чуть позже уже посмотрел, что приходит в lParam. Оказалось, что приходит некое число 658833440. На других компьютерах проверял - тоже самое число. В интернете информации не нашел, и никто подсказать тоже не смог. Сам вопрос- что это за число и почему нигде не описано? и как еще  можно словить Еррор такой?
Асинхронные сокеты использую, впрочем, думаю неважно, т.к. Еррор то один и тот же..


Digitman   (2005-11-11 14:39:00) [1]


> FrykT ©   (11.11.05 13:14) [3]



> FD_READ


дык... ёшкин ты кот ... а ПРИЧЕМ ЗДЕСЬ дисконнект, когда о recv() речь идет ?)


FrykT   (2005-11-11 13:14:00) [2]

LoWord(lParam) - FD_CLOSE, FD_READ и т.д.
HiWord(lParam) - если 0, нету ошибки, иначе - код ошибки.


Digitman   (2005-11-07 11:20:00) [3]


> если на клиенте RESET нажать, или снять задачу с диспетчера,
>  то на сервере событий никаких не возникает


> Чуть позже уже посмотрел, что приходит в lParam


в каком таком lParam, если событие дисконнекта в этом случае вообще не возникает ?)


FrykT   (2005-11-06 20:28:00) [4]

Прошло двое суток, и никто не ответил))))
Проблему решил !
lParam Нада было разбивать на LoWord и HiWord  !


Наверх

Титульная страница Поиск, карта сайта Написать письмо