trionetcom.cpp:259:51: error: no member named 'TcpProxy' in 'QNetworkProxy::ProxyType'
时间: 2023-07-29 20:10:51 浏览: 135
非常抱歉,我的回答有误。正确的写法是使用QNetworkProxy::Socks5Proxy来创建代理。以下是修改后的代码:
```cpp
// 第一个上位机
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建socket代理
QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, "169.254.7.71", 10001);
QNetworkProxy::setApplicationProxy(proxy);
// 创建socket连接
QTcpSocket socket;
socket.connectToHost("169.254.7.71", 10001);
// 发送数据
QByteArray data("Hello from Upstream 1");
socket.write(data);
// 等待接收数据
socket.waitForReadyRead();
QByteArray response = socket.readAll();
qDebug() << response;
return a.exec();
}
```
```cpp
// 第二个上位机
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建socket代理
QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, "169.254.7.71", 10001);
QNetworkProxy::setApplicationProxy(proxy);
// 创建socket连接
QTcpSocket socket;
socket.connectToHost("169.254.7.71", 10001);
// 发送数据
QByteArray data("Hello from Upstream 2");
socket.write(data);
// 等待接收数据
socket.waitForReadyRead();
QByteArray response = socket.readAll();
qDebug() << response;
return a.exec();
}
```
请注意,这两个程序可以分别在两台不同的计算机上运行,只需要将IP地址改成下位机的实际IP地址即可。
阅读全文