Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > широковещательные пакеты


Автор: cube 6.7.2009, 13:17
я не силен в сетях, и только начал разбирать udp..
от меня требуется определить ip адресс в сети на котором запущена уже запущена копия моей программы, сеть какого класса используется я незнаю, и маска сети может быть любой... Как написать?

Автор: lat 6.7.2009, 15:50
Сканируешь сеть на наличие торчащего наружу порта. 
Можешь ещё добавить что б прога отдавала по порту версию и доп. параметры - для полной идентификации приложения. 
Вот и всё решение.

Автор: COVD 7.7.2009, 04:31
http://www.jgroups.org/

Автор: cube 8.7.2009, 12:02
Цитата(lat @ 6.7.2009,  15:50)
Сканируешь сеть на наличие торчащего наружу порта. 
Можешь ещё добавить что б прога отдавала по порту версию и доп. параметры - для полной идентификации приложения. 
Вот и всё решение.

Я понимаю как должна работать программа, и знаю что есть такое чудо как широковещательные пакеты...
Я не знаю реализацию, мне просто нужно отправить УДП пакет во всю сеть (заранее я не знаю какого класса сеть используется) как?


http://www.jgroups.org/ - я уже использую в своей программе рма, зачем мне это? Извини я не понял как мне это использовать в своей задаче

Автор: COVD 8.7.2009, 15:45
JGroups - A Toolkit for Reliable Multicast Communication
Приложения, работающие на разных компьютерах, подключенных к  сети, обьединяются в рабочую группу. Каждое приложение может посылать (получать) сообщения как всем (ото всех) приложениям группы (multicast - широковещательные), так и персонально (point-to-point). Когда приложение подсоединяется к группе, оно становится доступным другим приложениям группы. В каждом приложении нет необходимости прописывать IP всех других приложений в сети. Они сами найдутся. Достаточно указать группу.  Если приложение перемещено на другой компьютер и поменяло свой сетевой адрес, то это автоматически будет учтено, т.е. оно останется видимым для остальных членов группы.  

Цитата

я не понял как мне это использовать в своей задаче 


я просто подкинул идею. 

Автор: cube 8.7.2009, 16:44
Цитата(COVD @ 8.7.2009,  15:45)
JGroups - A Toolkit for Reliable Multicast Communication
Приложения, работающие на разных компьютерах, подключенных к  сети, обьединяются в рабочую группу. Каждое приложение может посылать (получать) сообщения как всем (ото всех) приложениям группы (multicast - широковещательные), так и персонально (point-to-point). Когда приложение подсоединяется к группе, оно становится доступным другим приложениям группы. В каждом приложении нет необходимости прописывать IP всех других приложений в сети. Они сами найдутся. Достаточно указать группу.  Если приложение перемещено на другой компьютер и поменяло свой сетевой адрес, то это автоматически будет учтено, т.е. оно останется видимым для остальных членов группы.

как можно отправить дейтаграмму всем компьютерам в сети без использования библиотеки http://www.jgroups.org/
не зная предварительно количества компьютеров в сети, и маску? (т.е. она должна быть 255.0.0.0 - по-моему вот такой)


Если кто играл-играет в контру, там можно искать сервер в сети, так вот этот поиск находит любой сервер в сети, например если сервер запущен на 192.168.0.12 а клиент конектится с 192.168.2.110 и это очень быстро, нужно сделать аналог

Автор: cube 8.7.2009, 17:35
http://www.javatalks.ru/ftopic5810-0-asc-45.php

Вопрос решен всем спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)