【问题标题】:Mongrel2 send_spec and recv_specMongrel2 send_spec 和 recv_spec
【发布时间】:2015-03-27 12:38:58
【问题描述】:

我刚刚开始使用 Mongrel2,所有的教程都很棒,直到我开始将 Mongrel2 处理程序 send_spec 和 recv_spec 指向 localhost 以外的地址,例如网络上的第二台机器。

我开始收到这些错误:

errno: Resource temporarily unavailable) Failed to bind send socket trying again for: tcp://xxx.xxx.xxx.xxx:49901

我的问题是,当有两个节点 A 和 B,其中 A 是 Mongrel2 服务器,B 是 A 的处理程序之一的“工人”时,A 的 .conf 文件的 send_spec 和 recv_spec 中会包含哪些地址?

如果这是一个幼稚的问题,我很抱歉,这让我很困惑。

【问题讨论】:

    标签: zeromq mongrel2


    【解决方案1】:

    NodeA(Mongrel2 服务器)上的 PUSH (send_spec) 和 SUB (recv_spec) 端口是绑定套接字,因此你应该使用tcp://*:<port>。通过使用* 作为地址,您可以接收来自任何接口的连接。

    您的处理程序代码是需要特定地址的地方。我使用 docker 容器来运行我的 Python 处理程序,所以我总是需要为运行 Mongrel2 服务器tcp://172.16.1.?:<port> 的容器使用特定的 IP 地址。

    如果所有这些都是true

    • 允许 Docker 容器相互通信
    • 您使用了正确的 IP 和端口
    • 正在从所有接口接收 PUSH 和 SUB 规范

    您的处理程序应该能够连接。

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 2012-02-04
      • 2012-01-10
      • 2011-08-30
      • 2011-10-02
      • 2012-03-26
      • 2011-12-08
      • 2012-04-26
      • 1970-01-01
      相关资源
      最近更新 更多