请用c++写一段qt程序,读取图片/home/nvidia/a.jpg,通过tcp传输发送至另一台主机,本地IP为192.168.1.131,目的IP为192.168.1.201,端口为22222
时间: 2024-03-03 15:53:11 浏览: 26
好的,以下是一个简单的 Qt 程序,可以读取 /home/nvidia/a.jpg 并将其通过 TCP 发送到目标主机:
```cpp
#include <QtNetwork>
#include <QFile>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建 TCP Socket
QTcpSocket socket;
// 连接目标主机
socket.connectToHost("192.168.1.201", 22222);
// 等待连接建立
if (!socket.waitForConnected()) {
qCritical() << "Failed to connect to server.";
return 1;
}
// 打开文件
QFile file("/home/nvidia/a.jpg");
if (!file.open(QIODevice::ReadOnly)) {
qCritical() << "Failed to open file.";
return 1;
}
// 读取文件内容
QByteArray data = file.readAll();
// 发送数据
qint64 bytesSent = socket.write(data);
if (bytesSent < data.size()) {
qCritical() << "Failed to send all data.";
return 1;
}
// 关闭 Socket
socket.close();
return 0;
}
```
将以上代码保存为 main.cpp,并在命令行中执行以下命令编译:
```
qmake -project
qmake
make
```
然后运行生成的可执行文件即可。注意,本程序需要在有读取权限的目录下运行。