站在巨人的肩膀是骗人的
2013年(28)
分类: C/C++
2013-04-14 10:52:24
moon_rock2013-09-22 18:55:04
anderslane:zmq的线程模型是基于Poll的,它的socket可以直接放入poll中。在linux下面使用时,可以在zmq的socket的poll组中加入一个timerfd。这样就解决了定时器的问题。timerfd号称精确到us级别。
在windows下面使用的时候比较麻烦点,需要在每次recv后重新计算interval,再将此interval作为timeout的参数启动poll,不太精确。计算的时候使用zmq的clock来获取系统时间即可。也许有更好的方法?
最近仔细研究了一下zeromq,想和你一起探讨下。
回复 | 举报moon_rock2013-09-22 18:54:35
anderslane:zmq的线程模型是基于Poll的,它的socket可以直接放入poll中。在linux下面使用时,可以在zmq的socket的poll组中加入一个timerfd。这样就解决了定时器的问题。timerfd号称精确到us级别。
在windows下面使用的时候比较麻烦点,需要在每次recv后重新计算interval,再将此interval作为timeout的参数启动poll,不太精确。计算的时候使用zmq的clock来获取系统时间即可。也许有更好的方法?
最近仔细研究了一下zeromq,有相关问题,跟你请教。
回复 | 举报