boost :: asio - Разъяснение по привязке к определенному сетевому интерфейсу

Я искал в сети ответы, но, похоже, не нашел полного ответа.

Сценарий: у меня есть клиентский API и сервер. Приложение использует клиентский API для связи с сервером. И TCP, и UDP используются для связи между клиентским API и сервером. Все это написано с использованием ASIO.

Клиентский API подключается к серверу через TCP, затем отправляет команды через TCP и получает ответы через TCP. Клиентский API также прослушивает UDP-адрес, по которому он непрерывно получает данные в реальном времени.

Среда представляет собой смесь машин, работающих под WIN32 и WIN64. На всех машинах также есть 2 сетевые карты.

Вопрос: Я хотел бы иметь возможность «прикреплять» свои TCP- и UDP-соединения к определенным локальным сетевым интерфейсам. Я видел некоторую информацию, в которой обсуждается параметр сокета SO_BINDTODEVICE , а также функция привязки из более ранних сообщений или других сайтов.

Можно ли это сделать в среде WIN32 / 64? Если бы вы могли пролить свет на это, некоторые примеры или полезные сайты, я был бы очень признателен.

Ссылки, которые я нашел:

  1. Используя Linux, как указать, какие данные интерфейса Ethernet передаются на
  2. http://tuxology.net/2008/05/15/forcing-connections-through-a- specific-interface /
5
задан Community 23 May 2017 в 10:32
поделиться