Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-22613
LiNkS
2002-03-27 16:06
2002.04.08
StringReplace


1-22664
Сатир
2002-03-28 11:34
2002.04.08
Отображение элементов списка TList


3-22580
Макз
2002-03-17 15:57
2002.04.08
computed (by) fields


3-22566
cypher
2002-03-09 16:43
2002.04.08
Access Report


1-22641
DimaIv
2002-03-27 06:48
2002.04.08
Работа с масивом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский