Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Асинхронные сообщения сокетов!   Найти похожие ветки 

 
FireMan_Alexey ©   (2004-04-06 14:15) [0]

Ув. мастера!
Хочу спросить, почему когда приходит сообщение FD_READ и если я не забираю информацию Recv-ом, то больше сообщений не приходит!!! Т.е. как бы приходящие пакеты склеиваются и заносятся в буфер, который может быть до 64К, а если я посылаю 200 байт с промежутком в 0,5 секунды то пока я не обработаю один второй я не получу!


 
Verg ©   (2004-04-06 14:34) [1]


> почему когда приходит сообщение FD_READ и если я не забираю
> информацию Recv-ом,


Так и должно быть, если ты вообще нисколько не забираешь, ни быйтика.
Механизм простой, если "на пальцах", то:
1. С сетевого уровня пришла порция, a буфер применика пуст - ставим FD_READ
2. Вызывается rcv, но она забирает не все данные - ставим FD_READ


 
FireMan_Alexey ©   (2004-04-06 15:25) [2]

Дело в том, что сообщения FD_CLOSE и FD_WRITE тоже не приходят!


 
Polevi ©   (2004-04-06 15:26) [3]

код


 
Verg ©   (2004-04-06 15:36) [4]

Насчет FD_CLOSE - легко. Пока есть вовсе необработанные данные, FD_CLOSE не постится на очередь сообщений сокета. Первый же recv вызовет его пост, если соедиение к этому времени было уже закрыто собеседником.

А вот с FD_WRITE - чет-то я сомневаюсь.


 
FireMan_Alexey ©   (2004-04-07 11:10) [5]

Вообще-то с FD_WRITE я сам напутал!
Спасибо за помощь!



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
1-1084294739
glGLU
2004-05-11 20:58
2004.05.23
TCheckListBox


14-1083523175
Verg
2004-05-02 22:39
2004.05.23
Вот так вот! От 17 до 23-х.....


14-1083091612
RealRascal
2004-04-27 22:46
2004.05.23
Размер объекта в памяти


1-1084333644
WinLamka
2004-05-12 07:47
2004.05.23
Динамическая структура.


14-1083605890
oleg_SYS
2004-05-03 21:38
2004.05.23
30 Mb в TStringList плzzz очень нада!