ACE_INET_Addrconnect: address not available 问题的解决

ACE_INET_Addrconnect: address not available 问题的解决

黄国强 2015/2/4


这几天要写一个多机通讯的程序,所以看了ACE。

1 问题背景

  • ACE版本 6.1.9
  • Win7 x64
  • MS VS2008

2 遇到的问题

打开 ace\ACE-6.1.9\ACE_wrappers\examples\APG\Reactor 中的例子,编译Client和HAStatus这两个例子。编译很顺利。然后先运行HAStatus.exe,然后在运行Client.exe时出现以下画面:

技术分享

满世界的找答案,没找到什么线索。

只好用排除法解决,首先排除机器本身没问题,防火墙也没问题。用最原始的Socket写法能成功。最后定位到 ACE_INET_Addr 的两个变量声明有问题。

3 最终解决

 ACE_INET_Addr port_to_listen (ACE_TEXT ("HAStatus"));
=>ACE_INET_Addr port_to_listen (4000);

ACE_INET_Addr port_to_connect (ACE_TEXT ("HAStatus"), ACE_LOCALHOST);
=>ACE_INET_Addr port_to_connect (4000, ACE_LOCALHOST,PF_INET);

按上面进行修改,顺利解决问题。




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。