用Qt长时间轮询

时间:2014-11-28 00:03:09

标签: c++ mysql qt

我需要从服务器获取实时信息到我的Qt程序。 我通过创建与数据库的连接然后每秒获取数据来实现这一点。

我正在寻找更好的解决方案:避免在无限循环中获取数据。

最佳解决方案是发出MySQL请求,并且只有在新数据到达数据库时才进行回调。就像一个Ajax长轮询连接,但在Q ++中使用Qt

1 个答案:

答案 0 :(得分:1)

不要每秒获取数据。有效的解决方案是Websocket技术。将数据推送到客户端是您的服务器,您可以在Qt启动版本5.3中使用QWebSocket类。有一个很好的example

但是这个解决方案绝对是在服务器和客户端上实现的。我最近实际上已经实现了这样的客户端功能,这与Qt并不是很复杂,但解决方案取决于服务器细节,并且我们在每50秒后与服务器进行乒乓,以防止套接字关闭。但这可能取决于具体的服务器端websocket实现。