1

我正在 DRb 中编写一个简单的分布式系统。

我有所有的同行,还有一台服务器来做引导。在该服务器中,我有一些方法,例如“suggest_peer”、“start_service”和“stop_service”。

当对等点连接到服务器时,他可以调用所有三个方法。我希望他只能打电话给第一个。

另外,我有一个初始化服务器的文件,并且有一个小 cmd 行,所以我可以启动服务、调试、日志等等。我希望该 cmd 行能够调用第二种和第三种方法,以及第一种方法。

我怎样才能做到这一点?如何防止对等方停止服务?
如果我将服务方法设为私有,则无法从 cmd 行调用它们。

4

1 回答 1

0

这就是我得到的。

Thread.current['DRb']['client'].peeraddr

这将返回一个包含 4 个项目的小数组。第一个是协议,第二个是端口,第三个是主机(名称),第四个是地址(如果没有名称,则与主机相同)。

感谢来自http://www.ruby-forum.com/topic/1962357的 Brian Candler

于 2011-06-22T21:48:26.090 回答