Привязать QTcpSocket к хосту с двойным хостом - PullRequest
2 голосов
/ 01 сентября 2009

У меня есть приложение, которое создается с использованием Qt. Он будет работать на машинах, которые будут иметь две (или более) сетевых карт. Мне нужно, чтобы мое приложение могло выбирать, какие интерфейсы Ethernet для TCP-соединения. Прежде чем кто-либо предложит это, я не могу гарантировать, что таблицы маршрутизации будут настроены правильно. Я знаю, как сделать это, используя классы сокетов Windows, но не смог ничего найти об этом для Qt. Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

5 голосов
/ 02 сентября 2009

Вы имеете в виду исходящее или входящее соединение?

Если вы ссылаетесь на входящее соединение, все, что вам нужно сделать, это указать QHostAddress для вызова QTcpServer :: listen .

Если вы говорите об исходящем соединении, вы можете вызвать QAbstractSocket :: setLocalAddress , чтобы принудительно указать локальный адрес для чего-то конкретного.

Приветствия,

1 голос
/ 01 сентября 2009

Если вы используете Qt 4.2 или более позднюю версию, вы можете использовать QNetworkInterface , чтобы получить список сетевых интерфейсов на компьютере, а затем создать своего рода выбор сетевого интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...