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

Вниз

UDP   Найти похожие ветки 

 
LOM   (2002-01-18 22:45) [0]

Проблема вот в чем.
Нужно опросить сервак игры!
Включаю снифер, посылаю запрос(броадкаст) снифер пишет что пакет отправлен с порта например 1235 на порт 22222(сервака) если в сети есть сервак игры то приходит ответ на порт 1235!
UDP исползую Indy
В настросках указываю порт 22222 и шлю! А как узнать на какой порт придет ответ от сервака, так как он всегда разный!
И из-за етого неполучается получить ответ сервака!


 
Anatoly Podgoretsky ©   (2002-01-19 12:10) [1]

UDP не предусматривает получения какого либо ответа, это однонаправленный механизм.


 
LOM ©   (2002-01-19 13:57) [2]

Я это понимаю, но сервак то шлет UDP пакет на порт моего компа и ето порт всегда разный! и как его узнать??


 
Malder   (2002-01-19 14:27) [3]

Во первых, Anatoly Podgoretsky, UDP не предусматривает ответа ? А что это за соединение, где "говорит" только одна сторона ? NUKE что ли ? =) Я согласен, что по протоколу UDP ответ не обязателен. НО и по TCP отвечать необязательно. А ведь посылая DNS запрос по UDP мы получаем ответ. А ?
Во вторых, LOM, я не совсем понял. То ли ты чайник, то ли чайник я и не понимаю вопроса. Судя по тому, что ты написал, сервак посылает ответ на тот порт, с которого пришел запрос. Соответственно, определить куда придет ответ очень просто. На тот порт с которого ты посылаешь.=)
Правда, ты пишешь "UDP использую Indy". Я не знаю, что такое Indy. По ходу, компонент, где не надо ставить адрес порта с которого посылается запрос. Гм. Тогда запусти снифер и посмотри с какого порта отсылает твой UDP-компонент пакеты. На тот порт и придет ответ. А лучше используй нормальный компонент (хоть стардартный дельфийский)

...фуууу...отписался....


 
Anatoly Podgoretsky ©   (2002-01-19 19:21) [4]

Это уже относится не к протоколу UDP а к протоколу обмена DNS, то же самое ты и описываешь про его задачу
Но с UDP еще и доставка не гарантируется


 
LOM ©   (2002-01-19 22:02) [5]

Вроде разобрался, но чета NMUDP не хочет принимать ответный пакет от сервера(млм я не могу?)??


 
Malder   (2002-01-20 15:28) [6]

LOM, мля. Описываю в деталях.
Есть компонент NMUDP1. Ставь там RemotePort 22222, LocalPort 12345, RemoteHost - IP сервака.
Посылать данные можно так:

nmudp1.SendBuffer(pch, i);//где pch:array[0..255] of char
//(например)

Принимать данные надо в событии OnDataReceived:

nmudp1.readbuffer(pch, numberbytes);

Вот и все. Элементарно. Можешь использовать потоки и соответственно sendstream и readstream, но это по желанию.

И скажи, что такое INDY ?


 
Андрей Сенченко ©   (2002-01-20 17:30) [7]

http://www.indy.com/


 
Андрей Сенченко ©   (2002-01-20 17:34) [8]

Шутка :)
Достаточно большой и интересный набор компонент. Реальная ссылка:
http://www.nevrona.com/INDY/


 
Gunner   (2002-01-21 11:00) [9]

>Malder
Ты не видел Delphi6 ?? Инди официально включён туда и представляет достаточно большой набор компонент для работы с сетью !


 
LOM ©   (2002-01-21 18:59) [10]

to Malder: Ето все понятно я так и делал, но во первых, как я узнаю IP сервака, если я посылаю броалкаст! Смотря на снифер я вижу что, мой покет отослан и пришел пакет от сервака, а OnDataRecived не получает упраление!? тоесть он на етот пакет не риагирует?? в чем дело??


 
Hecker ©   (2002-01-22 15:28) [11]

У меня тоже самое! :(


 
Malder   (2002-01-23 20:51) [12]

LOM. Во первых, в событии OnDataReceived пишется с какого IP пришел пакет.
Во вторых, если OnDataReceived не выполняется, то значит пакет не приходил. Или пришел не на тот порт, который указан в LocalPort.


 
Malder   (2002-01-23 20:54) [13]

LOM. Во первых, в событии OnDataReceived пишется с какого IP пришел пакет.
Во вторых, если OnDataReceived не выполняется, то значит пакет не приходил. Или пришел не на тот порт, который указан в LocalPort.


 
LOM ©   (2002-01-24 13:20) [14]

Как я узнаю IP если я посылаю бродкаст!
Во вторых снифер показывает что пакет пришел!

??????????



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
1-22738
Moscower
2002-03-26 19:57
2002.04.08
Соединение с удаленной базой данных


1-22727
DimaIv
2002-03-25 20:43
2002.04.08
Есть такая проблема, имеется шаблон документа в Вордовском


1-22717
Great
2002-03-25 19:34
2002.04.08
Так что, никто не знает ? Ttabsheet и Drag & Drop


1-22712
$Hic0
2002-03-26 16:24
2002.04.08
Непонятно отчего ошибка раз... неясно почему она не обрабатывается :(


3-22561
der
2002-03-12 05:09
2002.04.08
Нумерация ячеек в DBGRID