Форум: "Сети";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Вниз
Пакеты UDP в TNMUDP Найти похожие ветки
← →
grvakh (2004-04-16 10:42) [0]При превышении пакетом на отправляющей стороне размера 2048 на принимающей сторне в поле NumberBytes процедуры события DataReceived получается значение -1.
Можно ли с этим бороться? Без перехода на др. версии и др компоненты? И вообще - с чем это связано?
← →
Verg © (2004-04-16 10:57) [1]
> И вообще - с чем это связано?
С размером буфера у самой компоненты при приеме из сокета.
var buffer : array[0..2047] of byte;
result := recv(UDPSocket, buffer, sizeof(buffer), 0);
если в сокете сидит датаграмма размером больше, чем sizeof(buffer), то Recv вернет SOCKET_ERROR (-1), при этом WSAGetLastError вернет WSAEMSGSIZE. Кстати, при этом первые sizeof(buffer) байт из той длинной датаграммы таки будут скопированы в buffer.
Вот и все.
Размер приемного буфера у этой компоненты по-моему не регулируется.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.958 c