1 // 从套接字中获取ZMQ字符串,并转换为C语言字符串
2 static char *
3 s_recv (void *socket) {
4 zmq_msg_t message;
5 zmq_msg_init (&message);
6 zmq_recv (socket, &message, 0);
7 int size = zmq_msg_size (&message);
8 char *string = malloc (size + 1);
9 memcpy (string, zmq_msg_data (&message), size);
10 zmq_msg_close (&message);
11 string [size] = 0;
12 return (string);
13 }
14
15 // 将C语言字符串转换为ZMQ字符串,并发送给套接字
16 static int
17 s_send (void *socket, char *string) {
18 int rc;
19 zmq_msg_t message;
20 zmq_msg_init_size (&message, strlen (string));
21 memcpy (zmq_msg_data (&message), string, strlen (string));
22 rc = zmq_send (socket, &message, 0);
23 assert (!rc);
24 zmq_msg_close (&message);
25 return (rc);
26 }