Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TNMUdp


R_R ©   (2011-07-12 04:50:00) 

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


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


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

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


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


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


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


Anatoly Podgoretsky   (2011-07-12 09:59:00) [3]

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

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


Anatoly Podgoretsky   (2011-07-12 09:58:00) [4]

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

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


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


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


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


sniknik   (2011-07-12 09:23:00) [6]

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

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


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

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

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


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


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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо