|
|
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
Скажите, пожалуйста, почему у меня возникает событие FT_WRITE только один раз, сразу после события FD_CONNECT. Я создаю сокет, создаю объект событие и отслеживаю события FD_CONNECT, FD_READ, FD_WRITE,FD_CLOSE. При возникновении события FD_WRITE я передаю пакет данных (в цикле пока SEND не передаст все данные), по событию FD_READ - читаю данные. Так вот событие FD_WRITE происходит полько один раз, обрабатывая событие, я отправляю пакет данны и получаю ответ (по FD_READ), а затем событие FD_WRITE уже не генерируется, хотя после передачи пакета, оно снова должно быть разрешено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 10:37 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
Неужели никто не использовал асихнронные режимы WINSOCK? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 09:28 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
насколько я помню, FT_WRITE повторно будет только в случае какой-то ошибки. в гугле несложно найти, по этому поводу было много обсуждений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 11:22 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
Суля по всему так оно и есть. Но в этом случае непонятно, как использовать это событие. Я передаю пакет и у меня нет ошибки, что делать, чтобы событие FD_WRITE возникло повторно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 11:40 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
думаю, просто передавать данные. если будет переполнение буффера, то ждать появления нового FD_WRITE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 12:38 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
Maksim UMдумаю, просто передавать данные. если будет переполнение буффера, то ждать появления нового FD_WRITE Спасибо, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 14:58 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
Maksim UMдумаю, просто передавать данные. если будет переполнение буффера, то ждать появления нового FD_WRITE Спасибо, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 14:59 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
А как в этом случае узнать, что передача данных запустилась? Успешное завершение функции send не говорит о завершение передачи или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 08:59 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
В синхронном режиме я передавал пакет в цикле, пока он не будет передан целиком. А как реализовывать в асинхронном режиме и как узнать, что передача пакета завершена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 15:13 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
В асинхронном режиме пакет также нужно передавать в цикле? Знание об окончании передачи пакета могло бы пригодиться для контроля тайм-аута. Хотя наверное можно время отчитывать и от начала передачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 08:54 |
|
||
|
События WinSock
|
|||
|---|---|---|---|
|
#18+
лучше поискать, например по rsdn.ru там много информации. например: тут есть пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 10:50 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2028899]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
71ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 370ms |

| 0 / 0 |
