Вниз
Скачать: CL | DM;

Пакеты 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
8-1080520839
3APA3A
2004-03-29 04:40
2004.06.06
Скопировать экран в буфер


9-1076162450
Pavel
2004-02-07 17:00
2004.06.06
TEditпод DelphiX


14-1084980190
DillerXX
2004-05-19 19:23
2004.06.06
Звуки звуки пуки, блин...


3-1084529884
jenbond
2004-05-14 14:18
2004.06.06
Округление в StoreProc


4-1083428532
Vin_Ghost
2004-05-01 20:22
2004.06.06
Создание полнокранного приложения




   Наверх