zmq_解除绑定在C中失败
我在C中使用了ØMQ,我注意到当调用zmq_解除绑定在C中失败,c,zeromq,C,Zeromq,我在C中使用了ØMQ,我注意到当调用zmq_unbind时,它返回-1。我的MQ版本是4.2.2。下面是一个失败的简单代码: #include <stdio.h> #include <stdlib.h> #include "zmq.h" #define SERVER_ENDPOINT "tcp://*:5555" int main(void) { void *context = zmq_ctx_new(); void *socket = zmq_socket(
zmq_unbind
时,它返回-1。我的MQ版本是4.2.2。下面是一个失败的简单代码:
#include <stdio.h>
#include <stdlib.h>
#include "zmq.h"
#define SERVER_ENDPOINT "tcp://*:5555"
int main(void)
{
void *context = zmq_ctx_new();
void *socket = zmq_socket(context, ZMQ_REP);
int rc = zmq_bind(socket, SERVER_ENDPOINT);
if (rc) {
fprintf(stderr, "Error: could not bind the socket.\n");
exit(1);
}
rc = zmq_unbind(socket, SERVER_ENDPOINT);
if (rc) {
fprintf(stderr, "Error: could not unbind the socket.\n");
exit(1);
}
rc = zmq_close(socket);
if (rc) {
fprintf(stderr, "Error: could not close the socket.\n");
exit(1);
}
zmq_ctx_destroy(context);
return 0;
}
#包括
#包括
#包括“zmq.h”
#定义服务器端点“tcp://*:5555”
内部主(空)
{
void*context=zmq_ctx_new();
void*socket=zmq_socket(上下文,zmq_REP);
int rc=zmq_绑定(套接字、服务器端点);
if(rc){
fprintf(stderr,“错误:无法绑定套接字。\n”);
出口(1);
}
rc=zmq_解除绑定(套接字、服务器_端点);
if(rc){
fprintf(stderr,“错误:无法解除套接字绑定。\n”);
出口(1);
}
rc=zmq_闭合(插座);
if(rc){
fprintf(stderr,“错误:无法关闭套接字。\n”);
出口(1);
}
zmq_ctx_销毁(上下文);
返回0;
}
tcp://*:5555带通配符不是zmq_解除绑定的有效选项
正如这里所建议的:
最后一个端点套接字选项可用于检索实际的
使用通配符时的端点
你能检查错误号吗?@EnricoDetoma
printf(“%d-%s\n”,rc,zmq_strerror(错误号))代码>返回“-1-没有这样的文件或目录”。