- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 QT 框架 (c++) 中有一个软件,它可以将处理过的(本地)数据发送到其他服务器并接收在其他服务器上处理过的相同(外部)数据并进行比较。
当处理大量本地数据时会出现问题,外部数据会被缓冲并且在发送所有本地数据之前不会进入比较过程。我需要在特定时间范围内比较数据,因此这会导致超时。
一个想法是使用一个线程调度本地数据,另一个线程接收和比较外部数据。 QTcpServer 可能需要一个互斥锁来保护它免于同时读写。
在 QT 环境中,这是否可能只用一个连接,或者一个连接用于发送,一个用于接收会更好吗?
我检查了财富服务器示例 http://doc.qt.io/qt-5/qtnetwork-threadedfortuneserver-example.html但我需要知道在同一个连接上使用不同的线程发送和接收是否可能和合乎逻辑。
附言。我是多线程的新手,所以如果我误解了一些概念,我深表歉意。
最佳答案
在没有看到任何代码的情况下,很难明确地回答这个问题。但是,这可能会让您走上正确的轨道...
我不希望您需要不同的线程来发送/接收数据; QTcpSocket 是异步的。
听起来您用来处理数据的架构可能需要修改。
foreign data is buffered and doesn't go into comparison process until all local data is sent
这听起来更像是一个问题,也是多线程有益的领域。因此,使用多线程处理数据,而不是控制服务器之间的通信。
正如您所说的多线程新手,我建议您先阅读 this article并将其示例用作模板。
关于c++ - QTcpServer 在不同的线程中接收和发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37050276/
我对 QTcpServer 如何在线程和阻塞方面的幕后工作感兴趣。 QTcpServer有一个 listen()立即返回的方法。如果监听成功开始,服务器将发出信号 newConnection() .我
我在 QT 框架 (c++) 中有一个软件,它可以将处理过的(本地)数据发送到其他服务器并接收在其他服务器上处理过的相同(外部)数据并进行比较。 当处理大量本地数据时会出现问题,外部数据会被缓冲并且在
当我尝试使用QTcpServer 监听任何端口,并在调试器 下运行应用程序时,我总是会收到“未知错误”。当我在没有调试器的情况下运行这个程序时——一切似乎都很好。 #include #include
我使用 QTcpServer来自带有 C++ 的 Qt 框架。 我开始了 ret = tcpServer->listen(QHostAddress::Any, 9871) 与 QHostAddress
我正在 Windows 7 上的 Qt 4.7 中开发一个 RPC 服务器。为了同时参与多个执行,每个请求都在一个单独的线程中运行(因为函数可能会阻塞)。我继承自 QTcpServer 并重新实现了
我正在编写客户端-服务器应用程序,它使用 QTcpSocket 和 QTcpServer。这是断开连接的()插槽: 服务器: void testServer::disconnected() {
我正在尝试使用 QT 在 C++ 中创建一个 TCP 服务器。我有代码,但是当我尝试使用 SocketTest 连接到服务器时,它说连接被拒绝(很可能是由于服务器未运行)。 这是在我的 tcplist
我正在为服务器编程,我为服务和管理器编程。当我使用 UI 服务器管理器停止服务器时,服务器调用一个名为“stopServer()”的函数,该函数包含以下内容: qDebug() getSocket()
我正在 Qt 中编写 TCP 服务器,它将提供大文件。应用逻辑如下: 我继承了 QTcpServer 并重新实现了 incomingConnection(int) 在 incomingConnecti
我的VS2010只能#include 但不能 #include . Qt助手建议被包含以应用 TCP 服务器,但我的 VS2010 似乎找不到此 header ,但它可以找到 这两个 header
我正在尝试一个非常非常简单的 QT 网络程序。由于某种原因,它在没有任何错误消息的情况下执行时崩溃,因为它没有按预期将任何输出打印到命令行。这是代码: qtTCPservertest.pro QT
我刚刚写了一个简单的qtcpserver,几乎就是这个例子:QT QTcpServer::incomingConnection(qintptr handle) not firing? 服务器基本上是工
我有一个这样的线程子类 class MyThread : public QThread { public: MyThread (void); ~MyThread (void);
我正在尝试使用 QTcpServer 和 Qt 5.3.1 在 Android 上启动服务器,但服务器没有启动,我得到“不支持的套接字操作”。它在 Windows 上运行良好。 代码如下: void
我正在做一个简单的服务器-客户端应用程序。但是,客户端从服务器端获得了一些未定义的行为。找回错误码后,才知道是服务器断开了连接。 这是服务端main.cpp #include #include #
我正在尝试将 char 数据从 PHP 脚本传送到 QTcpServer 并且服务器收到连接并且也可以回复,但我无法获取 php 发送的数据。 我做错了什么? PHP 脚本: #include "f
我正在制作一个简单的程序,它将“连接”到自身然后发送数据。它启动一个 QTcpServer 然后等待任何传入的连接。我有一个单独的函数,它将依次尝试在我决定的本地主机和端口上连接到该服务器。这在我在命
我只想用特定地址设置我的 QTcpServer。我已经用这段代码试过了,但它不起作用...... server.listen(QHostAddress::setAddress("127.0.0.1
我想将数据从特定位置(共享内存)传递到客户端应用程序。一个线程不断地轮询 SHM 以获取新数据,一旦它得到一些东西,它就会将它传递给客户端。 可以有多个此类客户端应用程序实例将连接到我的 (QTcpS
我用 winsock2.h 找到了这个套接字代码 http://www.tidytutorials.com/2009/12/c-winsock-example-using-client-server.
我是一名优秀的程序员,十分优秀!