38 lines
1.1 KiB
C
Executable File
38 lines
1.1 KiB
C
Executable File
//
|
||
// Hello World 客户端
|
||
// 连接REQ套接字至 tcp://localhost:5555
|
||
// 发送Hello给服务端,并接收World
|
||
//
|
||
#include <zmq.h>
|
||
#include <string.h>
|
||
#include <stdio.h>
|
||
#include <unistd.h>
|
||
|
||
int main (void)
|
||
{
|
||
void *context = zmq_init (1);
|
||
|
||
// 连接至服务端的套接字
|
||
printf ("正在连接至hello world服务端...\n");
|
||
void *requester = zmq_socket (context, ZMQ_REQ);
|
||
zmq_connect (requester, "tcp://localhost:5555");
|
||
|
||
int request_nbr;
|
||
for (request_nbr = 0; request_nbr != 10; request_nbr++) {
|
||
zmq_msg_t request;
|
||
zmq_msg_init_size (&request, 5);
|
||
memcpy (zmq_msg_data (&request), "Hello", 5);
|
||
printf ("正在发送 Hello %d...\n", request_nbr);
|
||
zmq_send (requester, &request, 0);
|
||
zmq_msg_close (&request);
|
||
|
||
zmq_msg_t reply;
|
||
zmq_msg_init (&reply);
|
||
zmq_recv (requester, &reply, 0);
|
||
printf ("接收到 World %d\n", request_nbr);
|
||
zmq_msg_close (&reply);
|
||
}
|
||
zmq_close (requester);
|
||
zmq_term (context);
|
||
return 0;
|
||
} |