CAsyncSocket Bind () завершается ошибкой, когда несколько IP-адресов настроены на ПК вне сети

У меня есть компьютер, на котором настроено несколько IP-адресов и который находится вне сети.

Я пытаюсь запустить серверное программное обеспечение, которое разработано на VC ++, используя CAsyncSocket на этом ПК.
Но Bind() Функция в этом программном обеспечении всегда дает сбой с ошибкой WSAEADDRNOTAVAIL 10049,

Но я обнаружил, что привязка работает нормально в следующих случаях:

  • Когда ПК подключен к сети
  • Когда на ПК настроен один IP-адрес

Мне не удается понять зависимость привязки сокетов к сетевому соединению и конфигурации нескольких IP. Это проблема с CAsyncSocket или есть способ обработки сокетов в такой ситуации?

РЕДАКТИРОВАТЬ:

Вот код, который я использую для создания сокета (явное связывание), который довольно прост:

ret = m_pAMC1_MAIN_VMS_A_SenderSocket->Create(m_amc1_main_vms_a_port_local, \
SOCK_DGRAM, FD_WRITE, (LPCTSTR) "193.0.161.111");

Обратите внимание, что тот же код выполняется успешно в перечисленных выше случаях.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]