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

Вниз

Задержка при отправке данных. Indy.   Найти похожие ветки 

 
Bruce   (2005-11-08 22:40) [0]

Есть следующий код, находящийся в OnExecute компонента TIdTCPServer.

...
         AContext.Connection.IOHandler.WriteBufferOpen;
         AContext.Connection.IOHandler.Write(integer(iSize));
         AContext.Connection.IOHandler.Write(msvclSend,
           ms.Size, false);
         AContext.Connection.IOHandler.WriteBufferClose;
...

так вот если размер потока msvclSend небольшой - примерно 100-500 байт, то данные приходят на клиент примерно через 100-500 милисекунд, т.е. наблюдается  задержка.
Если же размер msvclSend > 1500 байт, то данные приходят мгновенно.
Подозреваю, что это связано с тем, что MTU для eathenet = 1500 байт и система ждёт пока буффер наполниться, если не наполняется в течении определённого времени, то отправляет.
Можно ли как то форсировать отправку пакетов, может какая API есть?
Или единственный способ - прибавлять "баласт" при отправке данных?

Спасибо.


 
Eraser ©   (2005-11-09 00:47) [1]


> Bruce   (08.11.05 22:40)

UseNagle := false;



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

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

Наверх




Память: 0.46 MB
Время: 0.031 c
2-1139040100
Julia
2006-02-04 11:01
2006.02.19
Ошибка на Locate


1-1137884308
ancot
2006-01-22 01:58
2006.02.19
Очередной генератор отчетов


15-1138380126
cyborg
2006-01-27 19:42
2006.02.19
Кол-во подерживаемых процессоров в ХР


15-1138183309
GRIZME
2006-01-25 13:01
2006.02.19
ATI Radeon 9600 Pro


2-1138881209
Kolan
2006-02-02 14:53
2006.02.19
property и Ctrl + Shift + C.