【问题标题】:Determine remote client IP address for Java RMI call确定 Java RMI 调用的远程客户端 IP 地址
【发布时间】:2010-10-10 01:38:39
【问题描述】:

当我实现一个 RMI 服务器(实现一个扩展 java.rmi.Remote 的接口)时,有没有办法获取有关当前 RMI 请求上下文的信息,特别是远程客户端的 IP 地址?

public void myMethod() throws RemoteException {

    log.info("remote IP is "+ RMISomething.getSomething());

}

【问题讨论】:

    标签: java networking client-server rmi


    【解决方案1】:

    【讨论】:

    • 链接更改为:RemoteServer 您的服务器类必须扩展 RemoteServer、UnicastRemoteObject 或 Activatable。
    • @chrise 你的第二句话不正确。这就是提供 UnicastRemoteObject.exportObject() 以及 RemoteServer.getClientHost() 是静态的原因。
    • 它是否也提供端口号?
    • @Cyber​​monk 正如您通过他提供的链接查找它时所看到的那样,它返回客户端主机的String 表示。我不知道您为什么要在 cmets 中就一个十一岁的答案提出问题,而您可以自己查找。如您所见,它只是浪费了两个月。
    • 该链接没有说明任何关于端口的信息。 “字符串代表”是模棱两可的,其中也可能有端口“localhost:8080”。如果每个人都可以查找它,为什么我们需要 QA 论坛。在创建测试类后回答我的问题,发现端口不可用。
    猜你喜欢
    • 1970-01-01
    • 2018-04-30
    • 2011-09-25
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多