我的 C 应用程序中有这个 ZeroMQ 消息发送代码
void *socket= zmq_socket (context, ZMQ_DEALER);
// ...
zmq_msg_t zmsg;
zmq_msg_init_size (&zmsg, msg_size);
memcpy(zmq_msg_data (&zmsg), content, msg_size);
zmq_msg_send (&zmsg, socket, 0);
zmq_msg_close(&zmsg);
sleep (1);
这实际上有效,但我不喜欢我必须调用 sleep(1) 来清除消息的事实。如果我离开它,则没有消息到达服务器。是否有任何其他可能性可以在不调用睡眠的情况下“刷新”套接字上的消息?我使用 ZeroMQ v3.2.2。
非常感谢你!
编辑:此行为似乎仅在调试模式下发生。