Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / События WinSock / 11 сообщений из 11, страница 1 из 1
04.05.2007, 10:37
    #34504153
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
Скажите, пожалуйста, почему у меня возникает событие FT_WRITE только один раз, сразу после события FD_CONNECT. Я создаю сокет, создаю объект событие и отслеживаю события FD_CONNECT, FD_READ, FD_WRITE,FD_CLOSE. При возникновении события FD_WRITE я передаю пакет данных (в цикле пока SEND не передаст все данные), по событию FD_READ - читаю данные.
Так вот событие FD_WRITE происходит полько один раз, обрабатывая событие, я отправляю пакет данны и получаю ответ (по FD_READ), а затем событие FD_WRITE уже не генерируется, хотя после передачи пакета, оно снова должно быть разрешено.
...
Рейтинг: 0 / 0
07.05.2007, 09:28
    #34508542
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
Неужели никто не использовал асихнронные режимы WINSOCK?
...
Рейтинг: 0 / 0
07.05.2007, 11:22
    #34508921
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
насколько я помню, FT_WRITE повторно будет только в случае какой-то ошибки.
в гугле несложно найти, по этому поводу было много обсуждений.
...
Рейтинг: 0 / 0
07.05.2007, 11:40
    #34509003
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
Суля по всему так оно и есть. Но в этом случае непонятно, как использовать это событие. Я передаю пакет и у меня нет ошибки, что делать, чтобы событие FD_WRITE возникло повторно?
...
Рейтинг: 0 / 0
07.05.2007, 12:38
    #34509257
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
думаю, просто передавать данные.
если будет переполнение буффера, то ждать появления нового FD_WRITE
...
Рейтинг: 0 / 0
07.05.2007, 14:58
    #34509818
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
Maksim UMдумаю, просто передавать данные.
если будет переполнение буффера, то ждать появления нового FD_WRITE
Спасибо, попробую.
...
Рейтинг: 0 / 0
07.05.2007, 14:59
    #34509820
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
Maksim UMдумаю, просто передавать данные.
если будет переполнение буффера, то ждать появления нового FD_WRITE
Спасибо, попробую.
...
Рейтинг: 0 / 0
08.05.2007, 08:59
    #34511405
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
А как в этом случае узнать, что передача данных запустилась? Успешное завершение функции send не говорит о завершение передачи или я не прав?
...
Рейтинг: 0 / 0
08.05.2007, 15:13
    #34512984
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
В синхронном режиме я передавал пакет в цикле, пока он не будет передан целиком. А как реализовывать в асинхронном режиме и как узнать, что передача пакета завершена?
...
Рейтинг: 0 / 0
10.05.2007, 08:54
    #34515196
OLEG_2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
В асинхронном режиме пакет также нужно передавать в цикле? Знание об окончании передачи пакета могло бы пригодиться для контроля тайм-аута. Хотя наверное можно время отчитывать и от начала передачи.
...
Рейтинг: 0 / 0
10.05.2007, 10:50
    #34515454
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
События WinSock
лучше поискать, например по rsdn.ru там много информации.
например: тут есть пример
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / События WinSock / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]