题目1.Java版CORBA程序1——HelloWorld
编写实现显示“Hello,World!+班级+中文姓名”字符串。
实现详解:
1 编写IDL接口HelloWorld.idl:
module sample{
interface HelloWorld{
wstring sayHello();
};
};
2编译IDL接
口:X:\corba>idlj –fall HelloWorld.idl
编译结果生成sample包,生成下述文件
_HelloWorldStub.java
HelloWorld.java
HelloWorldHelper.java
HelloWorldHolder.java
HelloWorldOperations.java
HelloWorldPOA.java
3 编写并编译服务端程序:HelloWorldServer.java
4 编写并编译客户端程序: HelloWorldClient.java
5 运行
启动名字服务器:X:\corba >tnameserv-ORBInitialPort 1050
启动服务端程序:X:\corba >javaHelloWorldServer-ORBInitialPort1050
输出:HelloWorld is running
启动客户端程序:X:\corba >javaHelloWorldClient -ORBInitialPort 1050
输出:Hello
World!软工1704班***
1、要求编写实现显示“Hello,World!+班级+中文姓名”字符串。
题目2.JAVA版CORBA程序2——Counter
要求:
编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。
实现详解:
1 编写IDL接口counter.idl:
module
CounterApp{
interface Counter{
readonly attribute long value;
void inc();
void dec();
};
};
2编译IDL接口:X:\corba>idlj –fall counter.idl
编译结果生成CounterApp包,生成下述文件
_CounterStub.java
Counter.java
CounterHelper.java
CounterHolder.java
CounterOperations.java
CounterPOA.java
3 编写并编译对象实现代码:CounterImpl.java
4 编写并编译服务端程序: Server.java
5 编写并编译客户端程序: Client.java
5 运行
启动名字服务器:X:\corba >tnameserv-ORBInitialPort 1050
启动服务端程序:X:\corba >javaServer -ORBInitialPort 1050
输出:Server started. Stop:Ctrl-c
启动客户端程序:X:\corba >javaClient -ORBInitialPort 1050
二.截图
实验一:
实验二
三实验总结
出现问题
由于classpath环境没配置好出现的问题,改classpath环境变量运行正常
2.没有改把HelloWorld.idl中的String改成wstring编译会出错
CORBA处理字符串有:String和wstring两种类型,string类型主要用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。
当时不知道在哪里改wstring一直出错,最后改正确。