![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отловить 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 !