У меня есть приложение, которое строится с использованием Qt. Он будет работать на машинах, которые будут иметь две (или более) сетевые карты. Мне нужно, чтобы мое приложение выбирало, какие Ethernet-интерфейсы для TCP-соединения. Прежде чем кто-либо подскажет это, я не могу гарантировать, что таблицы маршрутизации будут правильно настроены. Я знаю, как это сделать, используя классы сокетов Windows, но не смог найти что-либо об этом для Qt. Любая помощь будет принята с благодарностью!Bind QTcpSocket на двухъядерном хосте
ответ
Вы имеете в виду исходящее соединение или входящее соединение?
Если вы имеете в виду входящее соединение, все, что вам нужно сделать, это указать QHostAddress для вызова QTcpServer::listen.
Если вы говорите об исходящем соединении, вы можете позвонить QAbstractSocket::setLocalAddress, чтобы заставить локальный адрес что-то конкретное.
Cheers,
Если вы используете Qt 4.2 или новее, вы можете использовать QNetworkInterface, чтобы получить список сетевых интерфейсов на компьютере, а затем создать какой-то сетевой интерфейс.
У меня нет проблемы с выяснением, какие интерфейсы доступны. Мой вопрос заключается в том, как заставить класс QTcpSocket использовать определенный интерфейс. – NJChim
- 1. Выполнение 2 ОС на двухъядерном процессоре
- 2. Несколько потоков java на двухъядерном Mac - Slow
- 3. CPU MIPS в двухъядерном процессоре
- 4. Подключение QTcpSocket
- 5. Привязать QTcpSocket к определенному порту
- 6. Как прослушивать уже подключенный QTcpSocket
- 7. Windows Game Loop 50% CPU на двухъядерном процессоре
- 8. QTcpSocket не загружается ssl
- 9. Установить sockopt QTcpSocket
- 10. Ошибка при использовании QTcpSocket
- 11. Qt QTcpSocket асинхронный написать
- 12. Утечка памяти QTcpSocket
- 13. Не удается записать данные на QTcpSocket
- 14. QTcpSocket: чтение и письмо
- 15. Использование QTcpServer и QTcpSocket
- 16. QTcpSocket renection way
- 17. QTcpSocket написать структуру данных
- 18. QTcpSocket - Как пройти тестирование
- 19. Переменные записи QTcpSocket
- 20. Поведение QTcpSocket :: waitForBytesWritten?
- 21. SocketDescriptor QTcpSocket is -1
- 22. QTcpSocket Not Connecting
- 23. Назначение объекта QTcpSocket
- 24. QTcpSocket неизвестную ошибку
- 25. QTcpSocket не излучает сигнал
- 26. QTcpSocket действительно полный дуплекс?
- 27. QTcpSocket в QThread
- 28. QTcpSocket - Проверьте, подключен
- 29. QTcpSocket не может привязываться к правильному IP
- 30. JQuery на локальном хосте
Вы можете вызвать эту функцию в подклассе QAbstractSocket, чтобы изменить возвращаемое значение функции localAddress() после установления соединения. Эта функция обычно используется прокси-соединениями для настроек виртуального подключения. Обратите внимание, что эта функция не связывает локальный адрес сокета до подключения (например, QAbstractSocket :: bind()). – IGHOR