假设用192.186.77.102作命名服务器:
一、.命名服务器端启动命名服务:
编写ob.config,在其中说明命名服务器;
# Initial services
ooc.orb.service.NameService=corbaloc::192.186.77.102:5000/NameService
ooc.orb.service.EventService=corbaloc::Legend:5001/DefaultEventChannel
ooc.orb.service.TradingService=corbaloc::Legend:5002/TradingService
在注册表中注册:
RegUpdate HKEY_LOCAL_MACHINE ob.config
方法一、
D:/ nameserv -OAport 5000 //5000为端口号,应该与配置文件中的一致。
则你所有的绑定只存在于内存中,重新启动命名服务器时绑定将消失;
方法二、
D:/nameserv (–s) –d datebaseFILENAME –OAport 5000
则将使用名为datebaseFILENAME的文件保存所有的绑定,-s参数只在第一次(即创建文件时)使用;这样就可以使用不同的文件保存不同的绑定;
查看帮助文件:nameserv –h
方法三、将命名服务作为NT服务
在ob.config中加入:
ooc.naming.port=5000
ooc.naming.database=d://yuling//matrix//namebase
第一句相当于用nameserv启动服务时,使用参数-OAport 5000,第二句相当于使用参数-d d:/yuling/matrix/namebase;
然后用ntnameservice 启动命名服务,参数如下:
-h
--帮助
-i
--安装服务,启动类别为手动
-s
--安装服务,启动类别为自动
-u
--卸载服务
-d
--以调试方式服务
二、客户/服务器如何指定使用哪个命名服务器?
方法一、在文件中指定所使用的命名服务器
a.编写ob.config,在其中说明命名服务器;
# Initial services
ooc.orb.service.NameService=corbaloc::192.186.77.102:5000/NameService
ooc.orb.service.EventService=corbaloc::Legend:5001/DefaultEventChannel
ooc.orb.service.TradingService=corbaloc::Legend:5002/TradingService
b.在注册表中注册:
RegUpdate HKEY_LOCAL_MACHINE ob.config
方法二、使用命令行参数
-ORBInitRef NameService=corbaloc::192.186.77.100:5000/NameService
如果corbaloc这样设置:
corbaloc::hostA:1234,:hostB,:hostC:2345/NameService
则试图使用hostA(端口为1234),hostB(默认端口为2809),hostC(端口为2345)上的命名服务,直到其中之一可用。
注意:命令行方法要优先于文件配置
如果服务器和客户已经注册了一个命名服务,却要使用另一个命名服务器192.186.77.100,则不必修改注册表,只须:
a.服务器端创建并绑定一个新的命名上下文
D:/nsadmin -ORBInitRef NameService=corbaloc::192.186.77.100:5000/NameService –c student_1
b.服务器端运行服务程序
D:/MyDir/server -ORBInitRef NameService=corbaloc::192.186.77.100:5000/NameService
c.客户端运行客户程序
D:/MyDir/client -ORBInitRef NameService=corbaloc::192.186.77.100:5000/NameService
三、客户/服务器建立连接方式
方法一、用名字绑定
D:/nsadmin –c student_1 //创建并绑定一个新的命名上下文
帮助文件:nsadmin –h
方法二、使用IOR作命令行参数
四、程序的执行顺序
编ob.config,注册
命名服务器端nameserv –OAport 5000
客户、服务器或命名服务器端 nsadmin –c stu
服务器端server
客户端 client
RegUpdate 命令为Corba的命令,需要将Corba的bin目录加到环境变量中。