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

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

WinSock Async Messages


FireMan_Alexey ©   (2004-03-11 11:05:00) 

Уважаемые мастера!
Хотел спросить возможно ли такое:
Асинхронному сокету приходит сообщение об ошибке, а после того как оно пришло прийти сообщение типа FD_READ, FD_WRITE или FD_CLOSE т.е. если происходит ошибка разрыв связи, я так думаю,
что соответсвенно больше сообщений прийти не может.
Может я ошибаюсь?
Просто после прихода сообщения, я освобождаю ресурсы выделенные под операции с сокетом, но возможно пока идут операции высвобождения может прийти сообщения типа FD_READ и скажем нужно записать их в буфер который я как раз высвободил. Ну и сразу Access Violation вылетает.


Digitman   (2004-03-11 11:38:00) [1]


> Асинхронному сокету приходит сообщение об ошибке


When one of the nominated network events occurs on the specified socket s, the application's window hWnd receives message wMsg. The wParam argument identifies the socket on which a network event has occurred. The low word of lParam specifies the network event that has occurred. The high word of lParam contains any error code. The error code be any error as defined in WINSOCK2.H.

иными словами, сообщение об ошибке само по себе не может прийти. оно придет вместе с кодом операции (FD_XXX), при выполнении которой возникла эта ошибка

если при фоновом выполнении операции, например, чтения возникла ошибка, то операция прерывается, и это значит, что никаких FD_READ с этого момента более не будет, пока операция не будет запущена вновь ... то же самое - с операцией записи и соответсвующим ей событии FD_WRITE


Verg   (2004-03-11 11:34:00) [2]

Сообщение об ошибке, я так понимаю, - это ненулевой код ошибки в соотв. сообщении. Или что? Поясни.
На какое сообщение ты начинаешь освобождать ресурсы?
Речь идет про сервер или про клиент?


Наверх

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