ZeroMQ将API zmq_bind()绑定到127.0.0.1::5555返回错误19



我正在学习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版本,最好使用您的错误可复制代码。

最新更新