java corba_JAVA版CORBA程序

1.题目分析

题目1.Java版CORBA程序1——HelloWorld

编写实现显示“Hello,World!+班级+中文姓名”字符串。

题目2.JAVA版CORBA程序2——Counter

编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。

2.组件实现

题目1. HelloWorld

1 编写IDL接口HelloWorld.idl:

module sample{

interface HelloWorld{

wstring sayHello();

};

};

1

2

3

4

5

2编译IDL接口:X:\corba>idlj –fall HelloWorld.idl

编译结果生成sample包,生成下述文件

_HelloWorldStub.java

HelloWorld.java

HelloWorldHelper.java

HelloWorldHolder.java

HelloWorldOperations.java

HelloWorldPOA.java

3 编写并编译服务端程序:HelloWorldServer.java

class HelloWorldServant extends HelloWorldPOA{

//对象实现类

public String sayHello(){

return "\nHello World! xxxxxxn";

}

}

1

2

3

4

5

6

4 编写并编译客户端程序: HelloWorldClient.java

5 运行

启动名字服务器:X:\corba >tnameserv -ORBInitialPort 1050

启动服务端程序:X:\corba >java HelloWorldServer -ORBInitialPort 1050

输出:HelloWorld is running

启动客户端程序:X:\corba >java HelloWorldClient -ORBInitialPort 1050

输出:Hello World! xxxxx

题目2. Counter

1 编写IDL接口counter.idl:

module CounterApp{

interface Counter{

readonly attribute long value;

void inc();

void dec();

};

};

1

2

3

4

5

6

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 >java Server -ORBInitialPort 1050

输出:Server started. Stop: Ctrl-c

启动客户端程序:X:\corba >java Client -ORBInitialPort 1050

3.测试、调试及运行结果

题目1. HelloWorld

1 编写并编译IDL接口:

图1.1 编译IDL接口

2 编写并编译服务端程序:HelloWorldServer.java,以及客户端程序: HelloWorldClient.java:

图1.2 编写并编译客户端和服务端程序

3 运行,输出:Hello World! 秦子琳 软工1704。

图1.3 运行

题目2. Counter

1 编写并编译IDL接口:

在这里插入图片描述

图1.1 编译IDL接口

2 编写并编译对象实现代码:CounterImpl.java,服务端程序: Server.java以及客户端程序: Client.java:

图1.2 编写并编译对象实现、客户端和服务端程序

3 运行并测试,实现自加自减功能:

图2.3 运行并测试

4.经验归纳

1 在进行操作前,需在jdk目录下添加JAVA_HOME环境变量,并在系统环境变量Path下添加“%JAVA_HOME%\bin”路径。

2 在cmd中,使用“javac 文件名.java”编译java程序,产生.class的文件;

使用“java 文件名”运行java程序,得到运行结果。

3 CORBA中处理字符串有:String和wstring两种类型。string类型主要用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。只需将IDL接口中的“string”改为“wstring”,运行结果即可输出中文,否则会报错。

---------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值