【问题标题】:QTcpSocket and QTimer for automatic reconnection best practiceQTcpSocket 和 QTimer 自动重连最佳实践
【发布时间】:2018-05-18 12:03:13
【问题描述】:

我们正在尝试实现一个从多个服务器检索数据的应用程序,因此我们需要多个 QTcpSocket 实例来管理每个主机的连接。

我们正面临一些决定性的“设计”问题:

  • 我们是否应该实施多线程解决方案来达到目标​​? (可能是的)
  • 如果,我们应该使用“工作线程”(例如QThread 示例moveToThread(socket_))作为最佳解决方案还是有更好的解决方案?我们需要同时管理三个或更多连接,所以我们不能使用waitingForConnection(...),因为它是一个阻塞函数(据我们了解)
  • QTcpSocket 重新连接 的最佳做法是什么?也许是QTimer,但最好的使用方法是什么......?

提前谢谢你!

广告

【问题讨论】:

    标签: multithreading qthread qtcpsocket qtimer reconnect


    【解决方案1】:

    嗯,我有一些类似的设计问题,但在我的情况下,主要原因是避免我的连接时间因繁重的 GUI 处理而延迟,另外,我的通信系统是通过串行的,但除此之外,我认为我的模型非常适合您的情况,这是我设计它的方式、我的问题以及来自 UmNyobe 的答案:

    QT QThread with QTimer and QSerial - parenting

    基本上,我的“CommCore”类的每个新实例都会创建自己的 Serial、Timer 和 Thread,并将其自身及其子级转移到该 Thread,避免 GUI 处理干扰通信时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 2010-12-15
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 2015-03-25
      相关资源
      最近更新 更多