我有两个简单的程序:客户端和服务器。我正在尝试使用zstr_sendfm和zstr_recv来发送和接收一个简单的字符串。粗略地说,我正在使用zeromq教程中file transfer test的代码。这是服务器功能:
int client()
{
zctx_t *ctx = zctx_new ();
void *dealer = zsocket_new (ctx, ZMQ_DEALER);
zsocket_bind(dealer, "tcp://*:6000")
char *receivedName = zstr_recv( dealer );
printf("received the following name: %s\n", receivedName);
return 0
}
这是客户端功能:
crypto-js
这两个程序都在同一台计算机上的两个独立程序中运行(除了运行各自的功能之外什么都不做)。
以下是事情的发展方式:
我在这里缺少什么?我添加了一堆错误检查,甚至在gdb中尝试了这一点而没有运气。
帮助和建议表示赞赏。
答案 0 :(得分:0)
我认为你的客户端和服务器混淆了,虽然在ZeroMQ客户端和服务器没有普通套接字那么严格。通常,您将创建一个服务器,其中包含一个绑定/接收/发送的REP套接字,以及一个具有连接/发送/接收的REQ套接字的客户端。您应该首先尝试这个,然后尝试使用ROUTER作为服务器(而不是REP)和客户端的DEALER(而不是REQ)。