2015-08-23 1 views
-1

Я разработал программу java rmi, как показано ниже, теперь единственное, что я хочу добавить в нее, это то, что вскоре, когда клиент отправит запрос на сервер, сервер должен захватить детали клиент, клиент детали, такие как IP, пожалуйста, посоветуйте, как я могу добавить слушателей, чтобы клиент момент отправки запроса сервер должен захватить детали ..Передача информации о клиенте на сервер в RMI через rmi-прослушиватели

ниже моя программа ..

интерфейс: -

import java.rmi.*; 
public interface AddServerInterface extends Remote { 
    public int sum(int a,int b); 
} 

класс реализации: -

import java.rmi.*; 
import java.rmi.server.*; 
public class Adder extends UnicastRemoteObject implements AddServerInterface { 
    Adder()throws RemoteException{ 
     super(); 
    } 

    public int sum(int a, int b) { 
     return a+b; 
    } 
} 

сервис RMI: -

import java.rmi.*; 
import java.rmi.registry.*; 
public class AddServer { 

    public static void main(String args[]) { 
     try{ 
      AddServerInterface addService=new Adder(); 
      Naming.rebind("AddService",addService); 
      //addService object is hosted with name AddService. 

     } catch(Exception e){System.out.println(e);} 
    } 
} 

клиент применение: -

import java.rmi.*; 
public class Client { 
    public static void main(String args[]) { 
     try{ 
      AddServerInterface st=(AddServerInterface)Naming.lookup("rmi://"+args[0]+"/AddService"); 
      System.out.println(st.sum(25,8)); 
     } catch(Exception e){System.out.println(e);} 
    } 
} 

пожалуйста, посоветуйте, как я могу добавить функциональность прохождение информация о клиенте сервер

ответ

0

Если вы хотите передать дополнительную информацию, кроме IP-адреса клиента на сервер, вы можете расширить метод sum в удаленном интерфейсе и передать эту информацию в качестве дополнительных параметров.

IP-информация от клиента не требуется для сервера RMI, поскольку RemoteServer.getClientHost() на удаленном сервере удаленного сервера RMI возвращает IP-адрес клиента, который сделал удаленный вызов.

1

сервер должен захватить детали клиент, клиент детали, такие как IP

IP-адрес клиента доступен во время удаленного вызова метода через RemoteServer.getClientHost(). Если вам нужны другие детали, вы просто должны сказать нам, что они собой представляют.

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

Насколько IP-адрес клиента, то, что вам не нужен слушатель , Вероятно, вам не нужен прослушиватель для любого из того, что вы пытаетесь сделать: см. Ниже.

Этот и ваш prior question сильно пахнут проблемой XY. Что именно вы пытаетесь достичь? Все это звучит для меня как случай для Remote Session Pattern, но пока вы не доверяете дальше, невозможно быть уверенным.

 Смежные вопросы

  • Нет связанных вопросов^_^