Вопрос: Как настроить приложение RMI как IP и Port? Это означает, что я хочу, чтобы при инициализации моего приложения он запрашивал IP-адрес порта и корневой системы, а также порт, в котором приложение могло выполнять независимо.Специальное приложение RMI для конкретного приложения
ответ
Помимо части, где вы запрашиваете у пользователя данные, в RMI клиент, это просто вопрос построения строки поиска для Naming.lookup()
динамически, а не статически: например вместо
MyRemote mr = (MyRemote)Naming.lookup("rmi://somehost:someport/MyRemote")
вы бы
String host; // initialized by dialogue with user
int port; // initialized by dialogue with user
MyRemote mr = (MyRemote)Naming.lookup("rmi://"+host+":"+port+"/MyRemote")
В конце сервера RMI, номер порта предоставляется super()
при создании вашего удаленного объекта, если вы расширяете UnicastRemoteObject
, в противном случае UnicastRemoteObject.exportObject()
если вы не» t продлить UnicastRemoteObject
. Обычно вам не нужно указывать свой собственный хост вообще; исключение - если вы находитесь за устройством NAT или какой-либо другой формой брандмауэра для переадресации портов, в этом случае вам нужно указать хост в свойстве java.rmi.server.hostname
на сервере JVM перед экспортом любых удаленных объектов (включая реестр).
спасибо .... Я попробую это, а затем ответьте ... – AkshayShrivas
@downvoter Этот вопрос, конечно, не очень выражен, но имеет смысл. – EJP