Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RMI-server: прослушивать ip-адреса клиентов, из нескольких сетей на одной машине 
V
    Опции темы
philips
Дата 18.1.2012, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.2.2008
Где: Минск

Репутация: нет
Всего: 1



Добрый день.

Есть такая ситуация: 

на одной машине сконфигурированы несколько (два) сетевых интерфейса с разными сетями

Код

ipconfig /all
...
Ethernet adapter Local Area Connection 4:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Broadcom NetXtreme Gigabit
Ethernet #2
   Physical Address. . . . . . . . . : 00-0A-E4-81-FC-C9
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 172.25.231.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.25.231.1
   DNS Servers . . . . . . . . . . . : 172.25.110.78
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection 3:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Broadcom NetXtreme Gigabit
Ethernet
   Physical Address. . . . . . . . . : 00-0A-E4-81-FC-C8
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.10.1.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   IPv4 Address. . . . . . . . . . . : 10.10.2.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   IPv4 Address. . . . . . . . . . . : 192.168.231.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
   NetBIOS over Tcpip. . . . . . . . : Enabled
...



RMI сервер, как оказалось, прослушивает адреса только из одной сети.

если указать 
Код

java.rmi.server.hostname=172.25.231.1

то он принимает клиентов только из сети 172.25.231.0, но не из 10.10.0.0.

если указать
Код

java.rmi.server.hostname=10.10.1.20

то он принимает клиентов только из сети 10.10.0.0, но не из 172.25.231.0.

Необходимо, чтобы сервер прослушивал подключения и подключал клиентов из двух сетей сразу.

Что можно сделать??

Заранее спасибо.
PM   Вверх
LSD
Дата 18.1.2012, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Попробуй:
Код

java.rmi.server.hostname=0.0.0.0



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
philips
Дата 18.1.2012, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.2.2008
Где: Минск

Репутация: нет
Всего: 1



LSD, объясни пожалуйста, в общих чертах почему такое происходит, и что означает 0.0.0.0, почему именно такая запись?


Цитата(LSD @  18.1.2012,  10:27 Найти цитируемый пост)
Попробуй

К сожалению, я на своей машине сейчас такое не могу потестить. Такая ситуация на пользовательской машине.

Как там потестят - сразу сообщу.


PM   Вверх
LSD
Дата 18.1.2012, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Когда создается ServerSocket ему можно указать на каком интерфейсе он должен принимать соединения. Адрес 0.0.0.0 обозначает любой интерфест, тут чуточку подробнее.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
philips
Дата 18.1.2012, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.2.2008
Где: Минск

Репутация: нет
Всего: 1



Я попробывал у себя, поставить 0.0.0.0:

Если сервер и клиент на одной машине, то проблем нет.

Если сервер и клиент на разных машинах:
Выкидывается исключение на клиенте.
Код

java.rmi.ConnectException: Connection refused to host: 0.0.0.0; nested exception is: 
    java.net.ConnectException: Connection refused: connect
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
.......
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
    ... 25 more



и это уже после того, как методы getRegistry и lookup выполнены, т.е клиент успешно подрубился к серверу. 
это исключение выскакиевает при вызове метода удаленного объекта (сервера).

И если у сервера поставить адрес локальной машины, например 192.168.117.45, то клиент подключается без проблем.

Я пока не тестировал с двумя сетями, т.к на одной это не работает даже :/

Это сообщение отредактировал(а) philips - 18.1.2012, 16:15
PM   Вверх
philips
  Дата 30.1.2012, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.2.2008
Где: Минск

Репутация: нет
Всего: 1



вот здесь я нашел решение своей проблемы: Multihomed Computers and RMI

всем спасибо.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.