【问题标题】:How to know which client invoke RMI method on the server如何知道服务器上哪个客户端调用 RMI 方法
【发布时间】:2013-06-17 09:19:52
【问题描述】:

我正在使用 Java RMI 开发一个系统。我有几个 RMI 客户端和一个 RMI 服务器。我的系统应该是拜占庭容错的,所以客户端可能是恶意的(不仅仅是崩溃停止)。

从这个意义上说,我应该能够在服务器中识别客户端何时调用重复或尝试使用其他客户端信息调用方法(以捕获服务器和多数投票)。为了解决这个问题,我使用了客户端和服务器共享的公钥/私钥。每个客户端都有一个唯一的密钥来生成和散列,服务器将验证散列。现在,我需要在服务器端知道哪个客户端调用该方法来知道我应该使用哪个密钥来验证数据。

是否有可能在服务器上知道哪个服务器正在调用这些方法?

问候和感谢, 雨果

【问题讨论】:

  • 作为旁注/问题,如何仅使用一台服务器实现拜占庭容错?

标签: java client-server rmi distributed-computing


【解决方案1】:

使用RemoteServer.getClientHost()的结果。

【讨论】:

  • 会试试这个!谢谢!
  • 有效!谢谢!我不能投票,因为我的积分少于 15 分 :( 还是谢谢你!
【解决方案2】:

我认为 RemoteServer 有一种方法可以在有人调用方法时获取客户端 IP 地址。

如果IP够用,你可以看看。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2016-10-15
    • 2011-01-26
    • 1970-01-01
    相关资源
    最近更新 更多