我正在学习ZeroMQ,为此我尝试将其绑定到本地主机,如下所示:
void* m_zmqContext;
void* m_zmqSocket;
m_zmqContext = zmq_ctx_new();
unsigned int error_code = zmq_errno();
printf("server ctx error: %u, %sn", error_code, zmq_strerror(error_code));
m_zmqSocket = zmq_socket(m_zmqContext, ZMQ_REP);
error_code = zmq_errno();
printf("server socket error: %u, %sn", error_code,
zmq_strerror(error_code));
zmq_bind(m_zmqSocket, "tcp://127.0.0.1:5555");
error_code = zmq_errno();
printf("server bind error: %u, %sn", error_code, zmq_strerror(error_code));
这产生的输出为:
server ctx error: 0, No error
server socket error: 0, No error
server bind error: 19, No such device
来自netstat -aon | find /i "listening"
的输出没有显示任何使用端口5555
的进程。
如何解决这个问题?
Q:"如何解决这个问题">
步骤0:手头有设备的证明:
~$ traceroute 127.0.0.1 --tos=8
--port=5555
--queries=9
--sendwait=9
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
1 localhost (127.0.0.1) 0.030 ms 0.027 ms 0.026 ms 0.028 ms 0.027 ms 0.028 ms 0.024 ms 0.028 ms 0.026 ms
ON FAIL:自明
ON PASS:向ZeroMQ维护人员提交事件,记录所有相应的平台状态/详细信息,包括使用的ZeroMQ版本,最好使用您的错误可复制代码。