在网络外的PC中配置多个IP地址时,CAsyncSocket Bind()失败

时间:2016-10-05 11:56:27

标签: c++ windows sockets networking casyncsocket

我有一台配置了多个IP地址并且不在网络中的PC。

我正在尝试使用此PC上的CAsyncSocket运行在VC ++上开发的服务器软件。 但是,此软件中的Bind()函数始终失败,并显示错误WSAEADDRNOTAVAIL 10049

但我发现在以下情况下绑定工作正常:

  • 当PC连接到网络时
  • 在PC中配置单个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 个答案:

没有答案