1

在 java RMI 中,我正在构建一个聊天应用程序。但是我无法找出一种方法来找出访问我服务器的 IP 是来自我的内部组织网络(INTRANET)还是来自外部世界(INTERNET)。现在我正在使用

try {
        System.setProperty("java.rmi.server.hostname",InetAddress.getLocalHost().getHostAddress());
        Registry statusRegistry = LocateRegistry.createRegistry(ChatConstants.statusPort);
        ChatInterface chat = new ChatImpl(ChatConstants.statusPort) ;
        statusRegistry.rebind("statusconnection",chat);
        System.out.println("RMIStatusConnection Server is started...");
     } catch (RemoteException e) {
            System.out.println("RMIStatusConnection failed...");
            e.printStackTrace();
     } catch (UnknownHostException e) {
            e.printStackTrace();
     }
4

1 回答 1

0

尝试 RemoteServer.getClientHost(),但它可能只提供最近的 NAT 设备的地址。

注意,像这样设置 java.rmi.server.hostname 没有多大意义。这是默认设置。只有在默认设置有问题时才需要设置它。

于 2013-04-05T09:20:27.807 回答