轮询服务器以请求有关server. qt的信息
polling to server to request information about server.Qt
系统概述: Ubuntu客户端
SDK/Language: QT/c++
限制:不能访问服务器代码。
问题:
我需要定期从客户端轮询服务器,并期望服务器响应响应消息。期望的消息是相当长的字符串。
描述:
我已经实现了与非Qt服务器建立连接的Qt客户端。该软件在客户端和服务器上都是单线程的。工作如预期。它意味着用户要求客户端向服务器发送一些请求命令,然后服务器响应。现在,我需要定期轮询服务器以请求其状态信息。我正在寻找关于如何实施的建议。
我认为有几个选项
1)在QTimer代码中使用for循环向服务器发送status_request,然后服务器响应
* * * * *摘要:* * * * *
i)如果user和New loop同时发送查询会发生什么?
ii) for循环是否可能耗尽所有资源?
2)使用不同的线程进行轮询?你们怎么看?根据目前的需求,你认为引入新的线程是一个好主意吗?
3)还有其他更好可行的解决方案吗?
在QTimer
代码中使用for循环
为什么在for
环路中需要QTimer
?使用QTimer::singleShot
在程序启动时向服务器发送请求,每次服务器响应后执行QTimer::singleShot()
。这将比每N毫秒发送请求要好。
不要忘记网络错误
相关文章:
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 从.Net访问SQL Server与从Qt
- 如何使用Team Foundation Server 2017构建QT应用程序
- QT for Embedded Linux VNC Server 是否已启用互联网
- 在Linux上使用Qt连接到Azure SQL Server
- 轮询服务器以请求有关server. qt的信息
- Qt如何打开SQL Compact Server文件.sdf
- Mac上使用Qt的Boost Tcp-Asio-Server链接失败
- Qt连接Sql Server(通用连接字符串)