0

我一直在玩弄 DRb,将其用作跨多个进程进行通信的解决方案。我正在使用标准进程:一个创建服务,将其注册到 druby uri,而在另一个进程上创建引用该 URI 的 DRbObject。到目前为止,一切都很好。假设我杀死了第一个进程。远程对象上的每个后续方法调用都将导致 ECONNRefused 异常。这是公平的。但是有没有办法查看 DRbObject 是否确实在给定的 URI 中注册?我认为通过在每个实例上强制一个 ECONNRefused 来测试它是否存在有点愚蠢。

当然,其他涉及 DRb 以外的资源的解决方案总是受欢迎的,只要它们确实代表一个加分项。

4

2 回答 2

0

这可能不是您要寻找的,但我在 DRb 之上开发了一个 IPC 框架,它从应用程序级别隐藏了所有 DRb 内容。这包括客户端方法来查找已通过网络向服务器注册的任何服务。可能对您来说开销太大,但也许值得一试。无论如何,你可以在Github上查看。

于 2013-10-10T15:15:54.467 回答
0

您应该查看ZeroMQ。它的设置比 DRb 稍微复杂一些,但它主要透明地处理所有存在/重新连接问题。

于 2013-04-05T17:29:30.903 回答