问题标签 [qtnetwork]

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 投票
0 回答
509 浏览

qt - QUdpSocket 发送格式错误的数据包

我正在设置一个 QUdpSocket 广播器。当我在 Wireshark 中查看输出时,它说我的数据包格式错误。检查数据包,似乎它们不是用以太网预告片发出的。我需要自己发出这个,还是你看到另一个问题?我下面的代码略微浓缩。请注意,如果通过交叉电缆连接,我的接收设备(微控制器)确实会看到并响应数据包(如在 wireshark 上看到的)。我想确保我没有格式错误的帧,因此我可以在允许 UDP 流量的交换网络上使用它。

谢谢

和wireshark的输出

注意最后四个字节对应我发送的数据,5A 5A 02 03。

根据谷歌图片搜索,数据包缺少预告片......虽然我不是网络专家,这完全是猜测。

Windows 7 x64、VS2010、QT 4.8-latest x64

0 投票
1 回答
136 浏览

c++ - C++ 非 QT 接口和 QtNetwork

我是我学校 RoboCup SSL 的一员,我们尝试在 grSim 模拟器 ( https://github.com/mani-monaj/grSim ) 上模拟整个游戏。

grSim 是一个 Qt 应用程序,所以我使用 Qt Network 库来制作客户端/服务器应用程序并接收 Google protobuf 数据。( https://github.com/rjabaker/WarBots-StrategyTester/tree/master/tester/comm )

我尝试用 SSL-refbox 做同样的事情,我收到数据,但是当我尝试打印数据时它不起作用,所以我试图找出原因..

** 所以我的问题是:我可以使用 Qt Network 库来制作客户端/服务器应用程序并从非 Qt 接口接收数据(SSL- Refbox https://github.com/Hawk777/ssl-refbox/)* *

0 投票
2 回答
1038 浏览

c++ - 我也应该连接到 QNetworkReply::error() 吗?

我创建了一个 POST 请求并连接到finished()信号:

我希望在 POST 请求完成时收到通知,无论它是失败还是成功。

我在文档中注意到还有一个QNetworkReply::error()信号,我是否也需要连接到它,或者finished()在所有情况下都会被调用?

0 投票
4 回答
2520 浏览

qt - 如何将文件上传到盒子?我有卷曲代码

我正在我的应用程序中集成盒子云。我正在使用 Qt 平台。

在盒子文档中,他们说要像这样在 curl 中发布。

在哪里指定 filename 和 folder_id 参数。我尝试过在正文中发帖,但它给出了错误。还请告诉我在哪里发布文件内容。

谢谢。

0 投票
1 回答
4201 浏览

qt - 将 QHttp 类从 Qt 4 移植到 Qt 5

我在 Qt 4 中创建了一个使用 QHttp 类的应用程序。新的 Qt 5 在 QNetworkAccessManager 类中具有几乎相同的功能,但我需要进行一些调整:

  1. 我的一段代码是:

    我找到了使用 URL 地址发布消息的 QNetworkRequest 类,但我使用的是在不同端口工作的 http 和 https,所以我还需要设置这个 ConnectionMode(http 或 https)。

    有没有办法在 QNetworkRequest 中设置 ConnectionMode?

  2. 我有这段代码:

    这在 Qt 4 中具有签名:

    在 Qt 5 中,我们有:

    发布消息(请求+数据)并获得答案(QIODevice * data)的新 Qt 5 等效项是什么?

0 投票
1 回答
1568 浏览

qt - QNetworkReply does not get any headers

I'm coding an application to get information of a device on which I have to send a PUT request like this:

I know the device is working because it starts its process and if I put a sniffer between my PC and the device and I see the response .

485454502F312E3020323030204F4B200D0A or in plain text 'HTTP/1.0 200 OK \r\n'

but when the slotRequestFinished(QNetworkReply* rep) slot is executed I get no data, no headers and no attributes, and error code 2 (connection closed).

If i execute:

I get and invalid variant object, same for the headers.

How can I get the raw packets of the response? That would be handy for this case.

I also noticed on my sniffer that the connection repeats three times, and sends the request all these times for one only put request; Could that be an issue with the library?

0 投票
2 回答
2500 浏览

qt - 从 QTcpSocket 读取时为空缓冲区

我正在创建一个简单的线程 TCP 服务器(基于线程财富服务器示例)。我已将 readyRead 信号连接到我的 readCommand 插槽,并确认在我远程登录到我的服务器并发送了一个字符串(后跟 enter)后 readCommand 函数会触发。

一旦我发送字符串 HELLO,下面的函数就会输出“In readCommand”,然后输出“new inBuffer”总是显示为空(“”)。

如果我打印出 tcpSocket->bytesAvailable(),那么当我通过 telnet 发送更多字符时,我会看到越来越多的字符。我只是没有把它们从套接字中取出……上面的代码是从 Fortune Client 示例中复制的,所以我认为它会起作用。我使用 QDataStream 错了吗?

0 投票
1 回答
632 浏览

qt - QFtp 不起作用

我觉得我可能在这里遗漏了一些非常容易的东西,但我不知道是什么。我有一个 C++ 函数(使用 Qt 4.7),我需要在其中访问 FTP 服务器上的文件。为此,我进行了以下设置:

当我直接在浏览器中输入源代码时,它会正确显示并显示目录中的所有文件。我在程序的其他地方也有另一个 QFtp 实例(不同的变量名)以相同的方式设置;这样可行。但是,有了这个,它只是将目录解释source为空并立即跳转到finishThisProcess. 有什么我想念的吗?谢谢!

编辑:这是 ftp 客户端的另一个实例:

它与另一个相同,除了a)这个尝试访问更远的目录级别,b)我分别声明了用户名和密码,然后手动登录。我尝试了以这种方式给我带来问题的方法,但无济于事。

0 投票
1 回答
1729 浏览

c++ - 使用 QDataStream 或 QTextStream 或不从 tcpsocket 读取文本行?

我正在创建一个简单的 TCP 服务器,并构建了一个插槽/函数,它从 TCP 套接字上的客户端(telnet 连接)读取传入的文本。我使用了 Fortune 代码示例来帮助我,但不得不删除 QDataStream,因为它没有按预期工作。

我希望我的 readCommand 函数从 telnet 客户端连接收集传入字符,一旦它找到换行符或返回以从输入缓冲区中删除键入的命令,删除 /n 和 /r,将其添加到我的字符串列表(commandList),然后回显命令(单独的功能)。这是我到目前为止所得到的:

在我开始手动剥离 /n 和 /r 等之前,我的直觉告诉我有更好的方法来做到这一点。QTextStream 是要走的路吗?有人可以提供一个简单的(r)替代我想要实现的目标吗?

0 投票
1 回答
1384 浏览

c++ - 将 qnetworkaccessmanager 连接到插槽

现在我有这个代码:

请求者.h

请求者.cpp

而这个错误:

怎么了?我尝试只使用连接而不是 QObject::connect,但是关于无法将 QNetworkAccessmanager 转换为套接字的错误。