问题标签 [qtcpsocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5446 浏览

qt - 通过 Wifi 进行的简单 TCP 通信太慢(延迟秒)?

我正在尝试通过 Arduino 无线控制机器人(使用计算机上的 X360 控制器),这需要非常低的延迟。出于这个原因,我选择了 Wifi(事实上我将流式传输视频),经过一些测试,结果发现我在使用 TCP 时有很大的延迟。这正常吗(54Mbits/s,不应该!)?我怎样才能减少它是可控的?

服务器代码(Arduino 草图):

客户端代码(PC、QtCreator):

预先感谢您的帮助。

问候,Mystère 先生

0 投票
2 回答
1175 浏览

c++ - 为什么 QTcpSocket 接收到错误的数据?

我正在编写一个简单的网络应用程序。客户端发送到服务器消息服务器在 QTextEdit 中打印并响应客户端。我正在使用 QTcpServer 和 QTcpSocket。有一个我无法解决的问题。接收数据是 quint16 + QTime + QString,它作为 QByteArrey 发送。我使用 quint16 接收数据块的大小。并且由于某种原因,当客户端发送到服务器时

服务器获取:

如您所见,由于某种原因,服务器从 QDataStrem 获取了错误的变量值,并且始终为 30073。我不明白为什么?

0 投票
1 回答
1737 浏览

c++ - C++/Qt - 从一个线程到另一个线程槽的信号

我正在设置一个与QTcpSocket. 设置与服务器的连接的部分是作为线程实现的。

这就是我的类的样子,它实现了连接函数(.hpp):

这就是我实现这个类(.cpp)的方式;

我通过以下方式启动线程:

当我测试程序时,连接器已正确创建。他启动函数 transformIP() 和 connectToServer()。目前我没有运行服务器,所以客户端无法连接。这将导致发出信号 connectionFailed() 使用连接器对象启动线程的客户端类应接收此信号并对其作出反应。

问题是:信号似乎没有发出,因为客户端类没有对它做出反应。这是客户端类中的部分,我将信号连接到某个插槽:

太好了,如果有人知道如何解决这个问题,谢谢:)

0 投票
1 回答
1580 浏览

c++ - Qt QTcpSocket 异步写入

我正在尝试将动态数据写入 QTcpSocket,这就是我实现它的方式:

dataReady 是一个槽,每当有一些数据准备好时就会调用它,而 strData 最多为 8192 字节。

这种方法效果很好,但是当数据很大(> 500 MB)时,会发生奇怪的事情,有时写入的数据比我预期的要多得多,有时会丢失一些数据,有时一段时间后什么也没有写入......

我只想要动态缓冲区,写入套接字,还有其他方法吗?

0 投票
0 回答
471 浏览

qt - 使用用户名和密码与现有服务器的 QT 连接

我正在研究适配器接口,我将构建的模拟器与在服务器上运行的现有模拟器连接起来。

我一直在研究 QAbstractSocket,并且对它有了一些基本的了解。

但问题是我试图访问的服务器有一个身份验证系统,我实际上需要输入用户名和密码凭据。

只要我浏览了课程参考资料,我就没有任何解决方案。

谁能指导我应该使用什么 QT 类,或者可以告诉我一些如何访问它们的想法?

0 投票
0 回答
292 浏览

qt - QTCP SOCKET 中的服务器响应

我附上了我正在处理的代码。如您所见,我正在与服务器建立连接,并且正在等待它的响应。

我正在执行命令 lb,它列出了一组命令。我已成功建立与服务器的连接,但我没有得到我执行的命令的结果。

我想要做的是,我正在我的服务器和我的代码之间建立一个 telnet 连接。我正在尝试从我的代码间接执行命令并处理从服务器获得的输出结果。

0 投票
1 回答
668 浏览

qt - 使用 QTCP 套接字的服务器响应

我正在将我的代码连接到现有服务器,并且能够从服务器获得响应。

但问题是响应的内容太大而无法以简单的方式处理。

现在下面是我用它来检索数据的一段代码。

我在使用 for 循环简化上述代码时遇到问题。

我不知道如何在我的 for 循环中实现 socket->waitForReadyRead。谁能帮我解决这个问题?

0 投票
1 回答
7626 浏览

c++ - 阻塞套接字 - waitForReadyRead()

目前在我的 QT 代码中,我有这样的东西:

在文档中它指出

此函数会阻塞,直到有新数据可供读取并且已发出 readyRead() 信号。该函数将在 mssecs 毫秒后超时;默认超时为 30000 毫秒

有什么办法可以让 waitForReadyRead 在我的阻塞应用程序中等到无穷大

0 投票
1 回答
497 浏览

c++ - waitForReadyRead 返回空字符串 - 为什么它不阻塞?

我目前有一个阻塞模型,我的客户接收数据的代码如下

现在我相信clntSocket->waitForReadyRead();只有在有数据要从套接字读取时才应该解除阻塞,但是它似乎会自行解除阻塞,并且 tick_stream 是空的关于可能出现什么问题的任何建议?

0 投票
2 回答
3126 浏览

qt - 为什么 QTcpSocket 不发出信号?

我在使用 QTcpSocket 时遇到问题,它没有发出任何信号:/

这是我的代码,我没有看到任何错误,但没有发出连接的信号(hostFound、connected 等)。在服务器上,我可以看到已建立连接并发送了数据,但客户端没有任何反应。NetworkInstance 正在扩展 QThread。