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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.008 c
1-1269848008
Pavel
2010-03-29 11:33
2011.10.30
Динамическое создание формы при HTTP-запросе


15-1309761912
Дмитрий С
2011-07-04 10:45
2011.10.30
В чем разница


2-1310225359
D_2010
2011-07-09 19:29
2011.10.30
Есть что-нибудь альтернативное DriveComboBox, DirectoryListBox?


1-1270457034
Вульфович Филипп
2010-04-05 12:43
2011.10.30
Ошибка при вызове dll


15-1309811398
Юрий
2011-07-05 00:29
2011.10.30
С днем рождения ! 5 июля 2011 вторник