【问题标题】:java RMI + source hitting server is from internet or from intranetjava RMI + 源命中服务器来自 Internet 或 Intranet
【发布时间】:2013-04-04 07:25:21
【问题描述】:

在 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();
     }

【问题讨论】:

  • @downvoter 请用这个问题解释你的问题。

标签: java sockets rmi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 2016-11-06
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多