corba本来就是与语言无关的,这里为方便测试,client和server都用java编程。客户端可以使用服务端生成的IOR文件与服务端通信,这里使用更简单的,客户端和服务端使用NameService机制。
1、首先编写idl
module HelloApp{
interface Hello{
string sayHello();
oneway void shutdown();
};
};
关于idl的详细介绍,请参考相关资料。实际上,和java的接口有一定的类似之处。
然后使用idlj.exe -fall hello.idl会生成服务端存根代码和客户端桩代码。直接执行idlj.exe可显示更详细的参数
2、服务端代码
3、客户端代码
4、运行服务端程序之前首先运行NameService服务程序
orbd.exe -ORBInitialPort 1234
然后运行服务端程序和客户端程序,输出如下:
服务端
start run orb...
invoke sayHello start...
客户端
client:get ret{hello ,i have received