CORAB客户端(TAO)如何连接不在本地机器的服务端(很简单,修改配置参数即可)

来源:互联网 发布:python mimetext 中文 编辑:程序博客网 时间:2024/06/06 07:51

参考文章:
http://blog.csdn.net/billdavid/article/details/726351
服务端启动完成后,Naming Service就默默在那里工作了,但是,你的servant和client如何访问它呢?


要在Server和Client程序中访问NameService有两种方法:
1、配置InitRef信息:
可以在启动orb时通过-ORBInitRef来定位,如:
-ORBInitRef NameService=IOR:00ff...
或使用corbaname,如:
-ORBInitRef NameService=corbaname::localhost:2809
指定NameService所在地址和端口。
也可采用corbaloc来指定NameService的运行信息,如:
-ORBInitRef NameService=corbaloc:iiop:1.2@localhost:2809/NameService
在这里,corbaloc/corbaname被用于以更具有可读性的方式来定位servant。

egargc=1;argv[1] = "-ORBInitRef NameService=corbaloc:iiop:192.168.0.20:5980/NameService";     CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);CORBA::ORB_var g_orb = CORBA::ORB::_duplicate(orb.in());

“192.168.0.20”:即开启命名服务的地址,5980即命名服务所监听端口;


2、配置好InitRef后,程序中就可以通过:
orb->resolve_initial_references("NameService");
访问到NameService了。
     访问Naming Service的另一种方式则是传递Naming Service的IOR串,然后通过:
orb->string_to_object(...);
从IOR串连接到相应的Naming Service,因为NameService只不过是一个特殊的servant。

0 0
原创粉丝点击