0
我在桌面PC上製作了一個簡單的client-server
應用程序,並在同一臺PC上使客戶端和服務器成功運行。CZMQ:開始使用Raspberry-Pi
然後我交叉編譯的應用程序運行它在樹莓上。當我在覆盆子上運行這個應用程序時,覆盆子上的客戶端和服務器都運行良好。我可以看到發送和接收的消息。
現在我把PC作爲服務器和樹莓作爲客戶端,但我看不到收到的消息。這是我的代碼。
PC端代碼:
zctx_t *ctx = zctx_new();
void *reader = zsocket_new (ctx, ZMQ_PULL);
int rc = zsocket_connect (reader, "tcp://PC-IP:5555");
printf("wait for a message...\n");
while(1)
{
char *message = zstr_recv (reader);
Sleep(10);
printf("Message: %s",message);
}
zctx_destroy (&ctx);
樹莓端代碼:
zctx_t *ctx = zctx_new();
void *writer = zsocket_new (ctx, ZMQ_PUSH);
int rc = zsocket_bind (writer, "tcp://PC-IP:5555");
while(1)
{
cout<<"sending................."<<endl;
zstr_send (writer, "HELLO");
}
zsocket_destroy (ctx, writer);
我怎樣才能使它發揮作用?
你應該總是綁定到本地IP地址(或0.0.0.0所有的IPv4接口或0 :: 0所有的IPv4/IPv6接口),並連接到遠程IP地址,而不是相反... – Elijan9
@ Elijan9,如果你寫這個評論作爲答案,我會批准它。你的評論解決了它。 –