C++ QTcpSocket和指定客户端传出网络设备

C++ QTcpSocket和指定客户端传出网络设备,c++,qt,tcp,qt5,tcpserver,C++,Qt,Tcp,Qt5,Tcpserver,Windows 8.1用户,使用Qt5.3。正在努力学习网络编程(请容忍我)。假设我的机器上有两个网络设备。一个被分配了IP 192.168.1.2,另一个被分配了IP 192.168.1.3。第一个设备具有优先级 我的目标是在192.168.1.2上创建一个QTcpServer,在192.168.1.3上创建一个QTcpSocket客户端。我设想的工作方式是,来自客户端的数据包将从192.168.1.3(在某些端口上)开始,传输到路由器,然后传输到192.168.1.2(在某些端口上)的服务器

Windows 8.1用户,使用Qt5.3。正在努力学习网络编程(请容忍我)。假设我的机器上有两个网络设备。一个被分配了IP 192.168.1.2,另一个被分配了IP 192.168.1.3。第一个设备具有优先级

我的目标是在192.168.1.2上创建一个QTcpServer,在192.168.1.3上创建一个QTcpSocket客户端。我设想的工作方式是,来自客户端的数据包将从192.168.1.3(在某些端口上)开始,传输到路由器,然后传输到192.168.1.2(在某些端口上)的服务器。好的,希望这听起来合理

问题出在这里。我找不到使用QTcpSocket指定传出地址的有效方法。似乎有一个bind方法,但它做的不多。每次我从客户端发送它时,它都会在默认设备上以192.168.1.2的速度移动

socket = new QTcpSocket(this);
qDebug() << socket->localAddress(); // shows "0"
qDebug() << socket->localPort(); // shows "0"

socket->bind(QHostAddress("192.168.1.3"), 50000);
qDebug() << socket->localAddress(); // shows "50000"
qDebug() << socket->localPort(); // shows "0"

//socket->setLocalAddress(QHostAddress("192.168.1.4")); // error, says it's protected
//socket->setLocalPort("50000"); // error, says it's protected
//qDebug() << socket->localAddress();
//qDebug() << socket->localPort();

socket->connectToHost("google.com", 80); // network manager shows data on 192.168.1.2
socket=新的QTcpSocket(此);
qDebug()localAddress();//显示“0”
qDebug()localPort();//显示“0”
套接字->绑定(QHostAddress(“192.168.1.3”),50000);
qDebug()localAddress();//显示“50000”
qDebug()localPort();//显示“0”
//套接字->设置本地地址(QHostAddress(“192.168.1.4”);//错误,说它被保护了
//套接字->设置本地端口(“50000”);//错误,说它被保护了
//qDebug()本地地址();
//qDebug()本地端口();
socket->connectToHost(“google.com”,80);//网络管理器显示192.168.1.2上的数据
有什么想法吗