微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将一个ZeroMQ套接字集成到一个glib主循环中?

我想给一个glib程序添加一个ZeroMQ套接字。

pitty是,一个zmq套接字不是poll() ,它们给它们的实现,它重载了旧的poll() func。 我怎么能有效地将它整合到主循环? 我尝试使用他们的投票( zmq_poll() ),而不是认的,但没有好办法给它的zmq套接字,除了使其成为一个global 。

定义一个新的GSource工作,但它可以获得高cpu使用率(通过设置timeout = 0 )或任意轮询超时(例如设置timeout = 100轮询至less每100毫秒),这是不是真的有效,因为有投票的可能性。

是否有必要记住一些C ++程序员的Win32 Api?

从C打开/运行另一个程序,然后closures这个程序

在QTCreator中用MinGW编译c ++和cuda代码

如何在Linux内核中分割两个64位数字?

initialize_main(&argc,&argv)是做什么的?

sox FAIL util:无法加载MAD解码库(libmad)函数“mad_stream_buffer”

意大利面条代码可视化软件?

我怎样才能模拟使用Win32挂钩的Alt + Tab?

如何加载共享库而不加载它的依赖关系?

在驻留在不同套接字上的处理器之间共享数据的最快方法

根据常见问题,你可以尝试“另一种方式”的方法。 不要在zmq套接字上进行poll ,而是在常规套接字上尝试zmq_poll() 。

退房问题如何将ØMQ插座与普通插座进行整合? 或者与一个GUI事件循环? 在FAQ中。

我发现较新的zmq库支持ZMQ_FD getsockopt()参数,它返回一个您可以poll()的unix fd 。 唯一需要注意的是你不能poll()它来知道你是否可以recv()或send()来send()它,但是你需要使用ZMQ_EVENTS getsockopt()参数来取回真正的fd状态。

这个似乎在glib中工作得很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐