У меня есть компьютер, на котором настроено несколько IP-адресов и который находится вне сети.
Я пытаюсь запустить серверное программное обеспечение, которое разработано на VC ++, используя CAsyncSocket на этом ПК.
Но Bind()
Функция в этом программном обеспечении всегда дает сбой с ошибкой WSAEADDRNOTAVAIL 10049
,
Но я обнаружил, что привязка работает нормально в следующих случаях:
Мне не удается понять зависимость привязки сокетов к сетевому соединению и конфигурации нескольких 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");
Обратите внимание, что тот же код выполняется успешно в перечисленных выше случаях.
Задача ещё не решена.
Других решений пока нет …