0
我想使用特定的源接口連接到遠程主機。我有 3接口:爲eth0(192.168.230.100),爲wlan0(10.0.9.100)和LO:QTcpSocket:選擇使用bind()連接到具有connectToHost()的遠程主機的源接口:需要解決方法
假設mSocket是類成員:
QTcpSocket mSocket;
而且在構造函數中,我們使用:
bool ret = mSocket.bind(QHostAddress("10.0.9.100"));
然後在定時器我們嘗試連接:
void CamComponent::tryToConnect()
{
mSocket.connectToHost(QHostAddress(CameraIpAddr), CameraPort);
}
並在此之後我用TCPDUMPŧ o查看傳出數據包,並且它們沒有源IP 10.0.9.100。使用strace的我已經檢查了Qt的讓到呼叫:
- 插座()
- bind()的
- 插座()< - 這將導致問題,這是QT內部 問題
- 連接()
什麼是解決此問題的方法?