gpt4 book ai didi

qt - 如何将 Asio 网络库与 Qt 库集成?

转载 作者:行者123 更新时间:2023-12-04 12:39:43 27 4
gpt4 key购买 nike

我想同时使用 Asio 和 Qt 吗?他们每个人都有两个必须调用的方法,每个方法都是阻塞的,例如:Asio 有 io_service.run() 并且 qt 有 QCoreApplication.exec() 如果我运行其中一个,则另一个无法运行。

我有两个解决方案:

  • 创建另一个线程并从中调用 io_service.run() 。
  • 创建一个周期为 100 毫秒的计时器,并从调用 QCoreApplication.exec() 的同一线程调用 io_service.poll()。

  • 这些解决方案是否正确?

    最佳答案

    这是一个简单的解决方案,适用于所有平台,但它有一些小缺点。您正在为应用程序的 asio 部分引入延迟,这可能是可以接受的,也可能是 Not Acceptable - 取决于您的情况。

    您可能感兴趣 my solution ,这使得 asio 和 QT 主循环的真正集成。

    另请查看以下问题以了解有关此主题的更多信息:How to integrate Boost.Asio main loop in GUI framework like Qt4 or GTK

    关于qt - 如何将 Asio 网络库与 Qt 库集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8026756/

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