【发布时间】:2017-12-01 18:04:01
【问题描述】:
我正在使用 ZeroMQ x86 在 Windows 8 VS 2012 上进行连接测试客户端/服务器应用程序。不幸的是,我在初始化连接时遇到了一些问题。现在我只是简单地复制(并稍微扩展了错误报告)示例hwserver.c 并使用以下代码进行初始化:
void* ctx;
void* rsp;
ctx = zmq_ctx_new();
DWORD dwErr = zmq_errno();
printf("Creating Context - %s\r\n", zmq_strerror(dwErr));
rsp = zmq_socket(ctx, ZMQ_REP);
dwErr = zmq_errno();
printf("Creating Socket - %s\r\n", zmq_strerror(dwErr));
调用zmq_socket 失败,返回rsp == NULL 和dwErr==14:地址错误。鉴于这与示例代码几乎相同,但它失败了,我没有答案。也许有人知道那个电话有什么问题。也许这是使用 32 位二进制文件的兼容性问题?
【问题讨论】:
-
@antipattern 是否检查过关于 构建 64 位二进制文件 的备注,如 >>> lists.zeromq.org/pipermail/zeromq-dev/2010-June/004037.html ?
-
感谢您的评论。但是,我不认为这适用于这里,因为我使用的是预构建二进制文件,而且我明确链接到 32 位二进制文件(我的应用程序规定,它与 64 位构建不兼容)
-
您是否尝试过不加修改地复制并运行示例中的代码?
-
是的,最初我从未修改的代码开始,但是它不会报告错误。它只是在绑定失败时断言。和我的帖子类似,
responder==NULL -
你用的是什么版本的zmq?