zmq_msg_init_data -从一个指定的存储空间中初始化一个ZMQ消息对象的数据 Synopsis typedefvoid(zmq_free_fn) (void*data,void*hint);intzmq_msg_init_data (zmq_msg_t *msg,void*data, size_t size, zmq_free_fn *ffn,void*hint); Description zmq_msg_init_data()函数会用data参数和size参数指定的...
zmq_msg_init_data -从一个指定的存储空间中初始化一个ZMQ消息对象的数据 Synopsis typedefvoid(zmq_free_fn) (void*data,void*hint);intzmq_msg_init_data (zmq_msg_t *msg,void*data, size_t size, zmq_free_fn *ffn,void*hint); Description zmq_msg_init_data()函数会用data参数和size参数指定的...
// 从套接字中获取ZMQ字符串,并转换为C语言字符串 static char * s_recv (void *socket) { zmq_msg_t message; zmq_msg_init (&message); zmq_recv (socket, &message, 0); int size = zmq_msg_size (&message); char *string = malloc (size + 1); memcpy (string, zmq_msg_data (&messag...
zmq_msg_init()函数会将msg参数引用的ZMQ消息对象进行初始化,使其成为一个空消息。在使用zmq_recv()函数接收消息之前调用此函数是很有必要的。 永远不要直接对zmq_msg_t对象进行直接操作,而是要使用zmq_msg函数族进行操作。 zmq_msg_init()、zmq_msg_init_data()和zmq_msg_init_size()这三个函数是互斥的。
zmq_msg_init()函数会将msg参数引用的ZMQ消息对象进行初始化,使其成为一个空消息。在使用zmq_recv()函数接收消息之前调用此函数是很有必要的。 永远不要直接对zmq_msg_t对象进行直接操作,而是要使用zmq_msg函数族进行操作。 zmq_msg_init()、zmq_msg_init_data()和zmq_msg_init_size()这三个函数是互斥的。
(char_nbr = 0; char_nbr < zmq_msg_size (&payload); char_nbr++) printf ("%c", *(char *) (zmq_msg_data (&payload) + char_nbr)); printf ("\n"); zmq_msg_init_size (&payload, 2); memcpy (zmq_msg_data (&payload), "OK", 2); zmq_send (worker, &address, ZMQ_SNDMORE...
一般不建议使用zmq_msg_move()、zmq_msg_copy()、zmq_msg_init_data(),除非你的目标很明确就是要用这些函数 zmq_msg_send()传递一个消息时候,会把该消息清除(把它的大小设置为0),因此消息发送之后需要关闭(zmq_msg_close())并且不再使用。如果你想多次发送相同的数据,可以创建两个zmq_msg_t消息对象发送,...
zmq_msg_init (&request); zmq_recv (responder, &request, 0); printf ("收到 Hello\n"); zmq_msg_close (&request); // 做些“处理” sleep (1); // 返回应答 zmq_msg_t reply; zmq_msg_init_size (&reply, 5); memcpy (zmq_msg_data (&reply), "World", 5); ...
zmq_msg_init_data (&message, "KILL", 5); zmq_send (control, &message, 0); zmq_msg_close (&message); ``` 下面是worker进程的代码,它会打开三个套接字:用于接收任务的PULL、用户发送结果的PUSH、以及用于接收自杀信号的SUB,使用zmq_poll()进行轮询: ...
创建上下文 void* context = zmq_ctx_new(); 创建socket void* mySocket = zmq_socket(context,SOCKET_TYPE); 绑定或者连接socket zmq_bind(mySocket,Address); zmq_connect(mySocket,Address); 定义消息 zmq_msg_t myMessage; 初始化消息 zmq_msg_init; zmq_msg_init_size; zmq_msg_init_data; ...