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);

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

时间: 2024-08-30 09:10:00

ACE_INET_Addrconnect: address not available 问题的解决的相关文章

ssh连接报警 does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! 的解决办法!

ssh连接远程服务器,报警信息 Address X.X.X.X maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! 如下:[root@upgirl ~]# ssh root@192.168.0.203Address 192.168.0.203 maps to localhost, but this does not map back to the address - P

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决

今天在做LNMP的时候,启动nginx服务,无法开启,导致网页打不开.把服务从起一下发现提示错误如下: Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 fai

jmeter压力测试报错:java.net.BindException: Address already in use: connect解决办法

最近在用jmeter做压力测试时,发现一个问题,当线程持续上升到某个值时,报错:java.net.BindException: Address already in use: connect,如下图所示: 原因:windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错. 解决办法(在jmeter所在服务器操作): 1.cmd中输入regedit命令打开注册表: 2.在 HKEY_LOCAL_MACH

wget: unable to resolve host address “mirrors.163.com” 的解决办法

wget:无法解析主机地址.这就能看出是DNS解析的问题. 解决办法: 登入root(VPS). 进入/etc/resolv.conf. 修改内容为下nameserver 8.8.8.8 #google域名服务器nameserver 8.8.4.4 #google域名服务器

Address already in use: JVM_Bind解决办法之一

严重: StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359) at java.net.ServerSocket.bind(

关于在地址池下绑定IP时报错The IP address‘s status is error解决方法

我使用华为交换机为一家企业里电脑绑定IP地址时报:The IP address's status is error的错误.如下图: 这时我觉得可能这个IP地址已经被DHCP服务给分配到下面电脑了,于是我查了一下华为官方资料,找到一条释放IP命令如下: 这条命令即可以释放单独的IP,也可以释放所有IP,我再回到地址池中绑定IP成功.如下图: 最后保存,退出.OK 原文地址:http://blog.51cto.com/lijie1977/2157718

Openstack安装过程中出现的一些问题及解决

一.Centos7安装Mitika问题 1.问题:在keystone安装阶段请求认证令牌出现错误 # vim admin-openrc export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default export OS_PROJECT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=admin export OS_AUTH_URL=http://192.

MySQL 1366错误解决办法

MySQL 1366错误大致描述如下 SQL Error: 1366: Incorrect string value: "xE8xAFxA6xE7xBBx86…" for column "address" at row 1 解决办法:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同:不相同则会引发MySQL1366错误. 修改MySQL该字段的字符集与整理规则即可.假设数据表为phplamp, SQL语句的字符集为utf8,出错的字段为add

严重: StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use: JVM_Bind

错误描述:严重: StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use: JVM_Bind 解决方法:这是端口号被占用,先查看端口号是被谁占用的,我的第一次查找到的是Tomcat7.0,kill掉进程,重新打开eclipse启动tomcat,发现还是同样的错: 又使用同样的方法,发现是java.exe占用,然后kill掉,发现Tomcat可启动. ---------