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

Вниз

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

 
R_R   (2011-07-12 04:50) [0]

Для отправки требует порт. Но ведь порт зависит (оказывается) от запущенной программы, то есть чтобы мне послать что-то, мне предварительно нужно узнать порт, который ещё к тому же может меняться от одного запуска программы к другой. Нельзя ли сделать соединение просто по ip адресу?


 
Servy ©   (2011-07-12 06:00) [1]


> Нельзя ли сделать соединение просто по ip адресу?


Представьте, что вы - операционная система. У вас запущено полтора десятка приложений, и все из них любят пообщаться по сети с другими приложениями. Тут, неожиданно, приходит udp пакет по сети. Какому из приложений его отдавать на обработку?

Очевидно, что нужно ввести какой-то идентификатор, чтобы разделить пакеты, направленные приложению А, от пакетов, направленных приложению Б. Таким идентификатором и служит порт, который "слушает" приложение.


> мне предварительно нужно узнать порт, который ещё к тому
> же может меняться от одного запуска программы к другой.

Ваше клиентское приложение (отправляющее данные) откуда-то должно узнать ip адрес сервера, куда отправлять запрос (из конфигурационного файла, из БД, от пользователя, и много других вариантов). Логичным выглядит оттуда же выяснять и порт на сервере, который слушает "серверное" приложение и по которому ждет данных.


 
Сергей М. ©   (2011-07-12 09:10) [2]

Настоятельно рекомендую пока не поздно отказаться от TNMUdp - он кривой и давным-давно уже не поддерживается разработчиками.

Отличная альтернатива ему - TUDPBlockSocket из состава Synapse
http://www.ararat.cz/synapse/doku.php/download


 
sniknik ©   (2011-07-12 09:23) [3]

> Отличная альтернатива ему - TUDPBlockSocket из состава Synapse
кстати тоже не поддерживается... третий год как, судя по дате последней версии. или там все идеально, и развивать нечего?

p.s. понятно лучше чем TNMUdp который наверно уже 10 лет не поддерживается, но все же.


 
Сергей М. ©   (2011-07-12 09:43) [4]


> или там все идеально, и развивать нечего?


Развивать может что-то и найдется ..
А вот по поводу "идеальности" - идеальным, конечно, ничто не бывает, но концепция, алгоритмы и код либы вылизаны авторами на вполне достойном внимания уровне. В либе все достаточно просто и наглядно для понимания, нет явных излишеств, в отличие от индейского пакета. Ну и кросплатформенность тоже немаловажный фактор..
Одно лишь слегка огорчает - кое-какие антивирусы из ряда широко известных упорно обзывают синапсов код шпионским)


 
Anatoly Podgoretsky ©   (2011-07-12 09:58) [5]

> R_R  (12.07.2011 04:50:00)  [0]

Протокол UDP без портов не работает.
Ты бы ну хоть что то про сети почитал, а то хоть стой, хоть падай.


 
Anatoly Podgoretsky ©   (2011-07-12 09:59) [6]

> Сергей М.  (12.07.2011 09:43:04)  [4]

Они шпионо фобы


 
Сергей М. ©   (2011-07-12 10:13) [7]


> Anatoly Podgoretsky ©   (12.07.11 09:59) [6]


Приходилось даже так извращаться - оформлять все что касалось Синапса в отдельной дин.либе, жать ее nspack"ом, заталкивать в ресурсы приложения, а в рантайм извлекать либу и стартовать/пользовать ее прямо в памяти процесса приложения.. Злобный Аутпост тут же умылся и Заказчик, почему-то упорно не желавший добавлять прогу в список исключений, остался при этом довольным)


 
Плохиш ©   (2011-07-12 10:55) [8]


>  порт, который ещё к тому же может меняться от одного запуска
> программы к другой.

Программа при каждом запуске меняет порт?
Вот это я понимаю - крютой дерьмокодер ваял.



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

Форум: "Начинающим";
Текущий архив: 2011.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
2-1310461223
Abibas
2011-07-12 13:00
2011.10.30
Вопрос по keybd_event


2-1310126824
MsGuns
2011-07-08 16:07
2011.10.30
TEdit с правым выравниванием


2-1310431807
R_R
2011-07-12 04:50
2011.10.30
TNMUdp


15-1309411014
Дмитрий С
2011-06-30 09:16
2011.10.30
Какой код ошибки http повесить, когда


2-1310371260
.dzmitry
2011-07-11 12:01
2011.10.30
поиск в локальной БД





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский