我有一个需要连接的定制硬件面板。
使用 QAbstractSocket 类,我设法连接到它并与之通信。
但问题是,如果我在达到连接状态后拔下以太网电缆,则不会对状态进行更新。
所以我需要一种每隔 X 秒“ping”一次的方法,以确保连接不会丢失。
最好的方法是什么?
- 例如,连接后创建的第二个线程会经常“ping”设备?
这个问题与 ping 部分无关,而是与每 X 秒部分有关。
我有一个需要连接的定制硬件面板。
使用 QAbstractSocket 类,我设法连接到它并与之通信。
但问题是,如果我在达到连接状态后拔下以太网电缆,则不会对状态进行更新。
所以我需要一种每隔 X 秒“ping”一次的方法,以确保连接不会丢失。
最好的方法是什么?
这个问题与 ping 部分无关,而是与每 X 秒部分有关。
我不知道这是否是最好的方法,但这是我使用的方法。
在这种情况下, QTimer是你的恶魔。您不需要为此获取不同的线程,因为它是异步的(例如,在这种情况下,Qt 文档强烈建议不要使用线程)
我使用 QTimer 能够在每个时间间隔触发特定方法。(您可以将 QTimer 设置为单次)
一旦第一次超时,我使用了另一个 QTimer 来等待回复。
通过使用信号/插槽等......这真的很容易做到。