Я создаю приложение для Linux Qt5/C++, которое работает в системе с несколькими сетевыми адаптерами (многосетевыми). Мне нужно заставить мое исходящее TCP-соединение использовать конкретную сетевую карту/IP. Я попробовал следующий код, но netstat подтверждает, что мое приложение по-прежнему использует неправильный локальный сетевой адаптер/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, но не уверен, что это то же самое