我们正在从在 ZMQ 中广播的 Kinect 读取消息。
我们或多或少地使用以下代码:
socket_t subscriber_eeg(context, ZMQ_SUB);
subscriber_eeg.connect("tcp://127.0.0.1:5559");
while(true)
{
Do Random stuff
if (pressedPause)
{
//shows message
continue;
}
subscriber.recv(&kinect_msg);
//code to process message
//code to plot the hand movements.
}
目标是在某人按下暂停的给定事件上暂停代码的执行。暂停事件在线程上独立运行。
一切正常,但问题是,由于 ZMQ 缓冲消息,它突然开始绘制在暂停状态下捕获的每个动作。
有没有办法告诉 ZMQ 在暂停时停止接收消息,或者清除缓冲区?