0

我有一个需要连接的定制硬件面板。

使用 QAbstractSocket 类,我设法连接到它并与之通信。

但问题是,如果我在达到连接状态后拔下以太网电缆,则不会对状态进行更新。

所以我需要一种每隔 X 秒“ping”一次的方法,以确保连接不会丢失。

最好的方法是什么?

  • 例如,连接后创建的第二个线程会经常“ping”设备?

这个问题与 ping 部分无关,而是与每 X 秒部分有关。

4

1 回答 1

0

我不知道这是否是最好的方法,但这是我使用的方法。

在这种情况下, QTimer是你的恶魔。您不需要为此获取不同的线程,因为它是异步的(例如,在这种情况下,Qt 文档强烈建议不要使用线程)

我使用 QTimer 能够在每个时间间隔触发特定方法。(您可以将 QTimer 设置为单次)

一旦第一次超时,我使用了另一个 QTimer 来等待回复。

通过使用信号/插槽等......这真的很容易做到。

于 2013-10-07T11:28:51.317 回答