找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5850|回复: 6

ACE+TAO 客户端连接阻塞的问题

[复制链接]
发表于 2010-12-31 17:16:45 | 显示全部楼层 |阅读模式
服务器上存在多个IP地址,比如192.168.1.88、192.168.10.88。
客户端通过命名服务连接服务器端时,连接10.88很快,连接1.88却异常的慢。
命名服务命令行参数:Naming_Service.exe -m 0 -ORBListenEndpoints iiop://:9999
 楼主| 发表于 2011-1-5 10:10:03 | 显示全部楼层
我使用ACE自带的工具:tao_nslist 使用2台计算机进行测试
tao_nslist -ORBInitRef NameService=iioploc://192.168.1.88:9999/NameService很明显有20秒的延迟;
tao_nslist -ORBInitRef NameService=iioploc://192.168.10.88:9999/NameService马上就有输出结果。
2次输出的结果一样:
+ NotifyEventChannelFactory: Object Reference
|   Protocol: IIOP
|   Endpoint: 192.168.10.88:10000
发表于 2011-1-5 16:43:24 | 显示全部楼层
你的客户端192.168.10网段的吗?
跨网段的话,可能会慢
 楼主| 发表于 2011-1-6 09:04:30 | 显示全部楼层
回复 3# codecola

是跨网,有没有解决这个速度慢的办法呢?
发表于 2011-1-6 22:03:53 | 显示全部楼层
我觉得可能与设备配置有点关系,不如你用普通的socket连接测试一下效果,查看一下问题出在什么地方。
 楼主| 发表于 2011-1-7 14:50:04 | 显示全部楼层
在Naming_Service.exe的启动参数中加入-ORBUseSharedProfile 1 -ORBNoServerSideNameLookups 1
Client连接时加入-ORBUseParallelConnects 1
可以解决连接延迟的问题。
但是又出现了新问题:
Client连接时有时候弹出一个未知异常CORBA::Exception:system exception,ID ‘IDL:omg.org/CORBA/TRANSIENT:1.0’ OMG minor code(2),described as‘*unknown description*’,completed = NO
奇怪的是不是每次连接都出,还未找到规律。
发表于 2011-1-7 16:53:32 | 显示全部楼层
打印客户端获取的服务器端的对象的IOR看看,是否IOR中存在多个host?
确保第一个host用的是ip,而不是主机名。
如果是主机名的话,配置客户端的/etc/hosts试试。
不行的话,在服务器端的程序代码中指定使用那个ip。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 21:42 , Processed in 0.035005 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表