Node.js 为什么ZeroMQ消息被置乱?
我正在使用nodejs调用我的tcp订户来读取消息Node.js 为什么ZeroMQ消息被置乱?,node.js,zeromq,amqp,Node.js,Zeromq,Amqp,我正在使用nodejs调用我的tcp订户来读取消息 var zmq = require("zeromq"), sock = zmq.socket("sub"); sock.connect("tcp://pubsub.besteffortc.com:7658"); sock.subscribe("/ASD/Travel"); console.log("Subscriber connected to port 3000"); sock.on("message", function(topic, m
var zmq = require("zeromq"),
sock = zmq.socket("sub");
sock.connect("tcp://pubsub.besteffortc.com:7658");
sock.subscribe("/ASD/Travel");
console.log("Subscriber connected to port 3000");
sock.on("message", function(topic, message) {
console.log(
"received a message related to:",
topic.toString(),
"containing message:",
message.toString()
);
});
我得到的输出如下。可能是什么问题?
-我的IP地址是否需要被列入白名单才能查看实际数据
注意:主题和URL名称不是实际值,而是虚拟值。
Q:可能是什么问题
ZeroMQ中有一个确定点-如果一条消息得到了传递(Zero的Zen不构成任何保证),那么它肯定是消息的一个精确的逐位副本,即发起者(这里的发布)打算.send()
如果您.recv()
任何内容(无论是通过本机API级别.recv()
-方法还是(“message”,f(…){…})
-handler)上提供的包装器),请确保它带有发起者提供的有效负载的1:1位图(除非您的语言包装器做了一件肮脏的工作,混淆了您对有文档记录的ZeroMQ API的使用,产生了一些令人讨厌的垃圾(我不相信这一点,但这可能是一个问题-请尝试您自己控制的任何其他ZeroMQ消息源,看看是否发生了这种情况))
Q:是否需要将我的IP地址列入白名单才能查看实际数据
正如上面详细解释的,此项不是ZeroMQ问题。如果您的应用程序级别/ISO-OSI-5以上行为依赖于签订某种协议,只有在获得“访问验证”(通过白名单或其他方式)后,您的问题才会停留在业务领域,而不是编程领域
ZeroMQ与此无关。ZMQ/RFC文档在每个ZeroMQ服务组合中都是明确的,并且为随机或未记录的行为留下了零空间。这可能是字符编码的问题。您是否在两侧使用相同的字符编码?如何转换为Node.js使用的内部编码?这是一个问题如果您需要解码此消息,它似乎是二进制的。请与发布者联系以何种格式发送消息,您不能仅从ZMQ接收消息,并期望输出消息将产生人类可读的内容。它是gzip格式的XML