Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизWinSock Async Messages Найти похожие ветки
← →
FireMan_Alexey © (2004-03-11 11:05) [0]Уважаемые мастера!
Хотел спросить возможно ли такое:
Асинхронному сокету приходит сообщение об ошибке, а после того как оно пришло прийти сообщение типа FD_READ, FD_WRITE или FD_CLOSE т.е. если происходит ошибка разрыв связи, я так думаю,
что соответсвенно больше сообщений прийти не может.
Может я ошибаюсь?
Просто после прихода сообщения, я освобождаю ресурсы выделенные под операции с сокетом, но возможно пока идут операции высвобождения может прийти сообщения типа FD_READ и скажем нужно записать их в буфер который я как раз высвободил. Ну и сразу Access Violation вылетает.
← →
Verg © (2004-03-11 11:34) [1]Сообщение об ошибке, я так понимаю, - это ненулевой код ошибки в соотв. сообщении. Или что? Поясни.
На какое сообщение ты начинаешь освобождать ресурсы?
Речь идет про сервер или про клиент?
← →
Digitman © (2004-03-11 11:38) [2]
> Асинхронному сокету приходит сообщение об ошибке
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
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c