Я создаю приложение linux Qt5/C++, которое работает в системе с несколькими NIC (многосетевыми). Мне нужно заставить мое исходящее TCP-соединение использовать определенный NIC/IP. Я пробовал следующий код, но netstat подтверждает, что мое приложение по-прежнему использует неправильный локальный сетевой адаптер/IP.QTcpSocket не может привязываться к правильному IP
if (m_tcpSocket->bind(localaddress)) qDebug() << "Bind success";
m_tcpSocket->connectToHost(
remoteaddress,
remoteport,
QTcpSocket::ReadWrite);
}
Я называю это неправильно? Я вижу «связывать успех», так что я предполагаю, что вызов является правильным ... но я не могу объяснить, почему он не работает
Обновления: Я нашел сообщение об ошибке: https://bugreports.qt.io/browse/QTBUG-29732
Есть обходной путь ? Я вижу setLocalAddress() в QAbstractSocket, но я не уверен, что это то же самое
Извините за неинформативный комментарий. Это печальная вещь, которую я заметил, поскольку Digia взяли Qt. Они начали меньше заботиться о C++ и посвятили большинство ресурсов QML :( – GreenScape