Форум: "Сети";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизЗадержка при отправке данных. 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.07 c