【发布时间】:2014-06-17 15:44:30
【问题描述】:
相同的 pub-sub 代码在本地机器 (Linux zephyr 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:08:16 UTC 2014 i686 i686 i686 GNU/Linux). 上工作
但是,在 EC2 机器 (Linux <host> 3.2.0-60-virtual #91-Ubuntu SMP Wed Feb 19 04:13:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux) 上它失败了。
安全组设置为允许所有 19019 端口以及从 0 开始的所有 TCP 端口。
我尝试在 NodeJS ZMQ 模块中添加打印,并且当我在刷新函数中添加它时能够获取我发送的数据。
还有什么问题?
我尝试在端口 19019 上使用 tcpflow 监听 pub 流量,但没有成功。我怎样才能听到这个流量?
sudo tcpflow -i eth0 port 19019 和 sudo tcpflow -i lo port 19019
两者都不起作用。有什么工具可以用来调试吗?
酒吧咖啡
zmq = require 'zmq'
dpush_socket = zmq.socket 'pub'
dpush_socket.bind 'tcp://127.0.0.1:19019', (err) ->
if not err?
console.log "Bind successful"
dpush_socket.send 'pid' + ' req ' + req.query.pid
Sub.coffee
zmq = require "zmq"
endPoint = "tcp://0.0.0.0:19019"
sub = zmq.socket "sub"
sub.identity = 'worker' + process.pid;
sub.connect endPoint
console.log "worker connected!"
sub.subscribe('')
sub.on "message", (msg) ->
console.log(sub.identity + 'got ' + msg.toString())
【问题讨论】:
标签: node.js amazon-ec2 coffeescript zeromq publish-subscribe