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

Вниз

Передача UDP   Найти похожие ветки 

 
Hans_Cristian   (2006-03-09 16:42) [0]

Всем привет. Есть UDP-сервер, пытаюсь передать с него данные. При посылке почему-то датаграмма урезается на 14 байт. Пробовал и через IdUDPServer, и через RAW-сокеты. Вот последний вариант:

recvfrom(sck,buf,100,0,fa,fal);
s:="Длинная строка, которую пытаюсь передать через UDP на клиента";
if sendto(sck,s[1],length(s),0,fa,sizeof(fa))<>length(s) then Application.MessageBox("Мало!","!",mb_ok);


Причем MessageBox не всплывает, т.е строка передается вся. Однако на клиента последние 14 байт не приходят. Это у меня руки кривые или с сокетами проблема?


 
Verg ©   (2006-03-09 20:36) [1]

Смотря как принимает (правильно ли) клиент, насколько та сторка "длинная"... и т.д.


 
Piter ©   (2006-03-09 22:53) [2]

Hans_Cristian   (09.03.06 16:42)
Это у меня руки кривые или с сокетами проблема?


а сам то как думаешь? :)

Если до клиента вообще хоть часть строки доходит, то включив телепатию можно предположить, что проблема в  в коде приемки со стороны клиента.


 
Verg ©   (2006-03-09 23:02) [3]


> Piter ©   (09.03.06 22:53) [2]


Я бы вообще не обратил внимания, если бы не четырнадцать. Понимаешь, - sizeof( struct ether_header )  Магия чисел, однако....


 
GanibalLector ©   (2006-03-10 01:40) [4]

> Пробовал и через IdUDPServer, и через RAW-сокеты. Вот последний вариант
Так ..так. А при чем тут RAW??? Ты что подмену IP делаешь? Не надо тут никаких RAW.


 
Hans_Cristian   (2006-03-10 09:02) [5]


> Не надо тут никаких RAW.

А как еще? Думал, Инди глючит, попрбовл так... Та же фигня :(


> Магия чисел, однако....

Угу. Тоже обратил на это внимание. Однако что делать?

> а сам то как думаешь? :)

Подозреваю, что руки :) Наставьте на путь истинный.

> проблема в  в коде приемки со стороны клиента.

Дык, это... Висит клиент, рядом - сниффер. Оба показывают одно и то же.


 
Piter ©   (2006-03-10 15:42) [6]

приводи тогда код полностью


 
Hans_Cristian   (2006-03-10 16:16) [7]

Разобрался. Ориентировался на результаты, полученные сниффером, а он, зараза такая, из длины пакета как раз размер Ethernet-заголовка и вычитал. И показывал пакет без хвоста :(
Кстати, может кто сниффер порекомендует проверенный? :)


 
Piter ©   (2006-03-10 16:31) [8]

Hans_Cristian   (10.03.06 16:16) [7]
Ориентировался на результаты, полученные сниффером


вот так всегда и бывает. Сначала ложь:

Hans_Cristian   (10.03.06 9:02) [5]
Висит клиент, рядом - сниффер. Оба показывают одно и то же


типа умный такой - "ну не может же снифер ошибаться. Чтобы не было разговоров лишних, скажу что везде так показывается, дело явно не в снифере"...


 
Hans_Cristian   (2006-03-10 17:03) [9]

Виноват. Готов искупить свою вину пивом :) Но в общем-то так и было - пишу эмулятор сервера для сторонней проги, посмотрел сначала, что сниф показывает, потом загнал это в свою прогу...
Вопрос о проверенном снифе остается открытым.


 
Piter ©   (2006-03-10 17:25) [10]

Ethereal


 
Hans_Cristian   (2006-03-10 17:51) [11]

Спасибо.



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1151260899
rus0303
2006-06-25 22:41
2006.07.16
запрос в ORACLE


15-1150293693
JUS
2006-06-14 18:01
2006.07.16
Как закинуть свой готовый сайт в интернет?


15-1150219382
dimodim-Furyz
2006-06-13 21:23
2006.07.16
Web-radio


1-1148994038
TSa
2006-05-30 17:00
2006.07.16
запись в ini файл с правами пользоваля


15-1149881378
Strate
2006-06-09 23:29
2006.07.16
Интересная задачка