我们正在尝试实现从多个服务器检索数据的应用程序,因此我们需要几个 QTcpSocket 实例来管理每个主机的连接。
我们正面临一些决定性的“设计”问题:
QThread
示例moveToThread(socket_)
中)作为最佳解决方案,还是更好?我们需要同时管理三个或更多连接,因此我们无法使用waitingForConnection(...)
,因为它是一个阻塞功能(根据我们的理解)QTcpSocket
重新连接的最佳做法是什么?也许是QTimer
,但使用它的最佳方法是什么? 提前谢谢!
AD
答案 0 :(得分:0)
嗯,我有一些设计问题就像这些,但在我的情况下,主要原因是避免我的连接时间被繁重的GUI处理延迟,而且,我的通信系统通过串行,但除此之外,我认为我的模型非常适合你的情况,这是我设计它的方式,我的问题,以及UmNyobe的答案:
QT QThread with QTimer and QSerial - parenting
基本上,我的" CommCore"的每个新实例; class创建自己的Serial,Timer和Thread,并将自己和它的子进程传递给这个Thread,避免GUI处理干扰通信时间。