gpt4 book ai didi

linux - dbus (glib) 和 TCP 的第二个套接字

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:10 24 4
gpt4 key购买 nike

我正在使用 dbus(使用 glib C API)完成我的第一步,并且已经遇到了 GLib 的问题。 Lib 在主循环中提供 dbus 数据

g_main_loop_run(loop);

对于我的应用程序,我确实需要第二个套接字作为 TCP-IP 服务器。如果两个套接字都阻塞,我该如何使用它们?该应用程序在嵌入式硬件(Linux)上运行,并且只有非常有限的资源,因此不幸的是,多线程不是一个选项。

最佳答案

如果您还没有阅读过 the manual 。它包含大量信息,可以直接回答您的问题。特别是,您可以通过调用 g_source_new 创建一个 GSource。作为此过程的一部分,一组回调与新的 gsource 相关联。然后,您可以使用类似 g_source_add_unix_fd 的方法将套接字 fd 添加到 gsource。最后使用 g_source_attach 将您的 gsource 附加到主上下文(或您想要的任何上下文)。然后,只要您的套接字有事件,您的回调就会作为主循环的一部分被调用。

关于linux - dbus (glib) 和 TCP 的第二个套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32904205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com