.Java版CORBA程序

1.题目名称
<1>题目1.Java版CORBA程序1——HelloWorld:
(1)编写IDL接口HelloWorld.idl
(2)编译IDL接口:X:\corba>idlj –fall HelloWorld.idl,编译结果生成sample包
(3)编写并编译服务端程序:HelloWorldServer.java
(4)编写并编译客户端程序: HelloWorldClient.java

<2>题目2…JAVA版CORBA程序2——Counter
要求:编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。
(1)编写IDL接口counter.idl
(2)编译IDL接口:X:\corba>idlj –fall counter.idl,编译结果生成CounterApp包
(3)编写并编译对象实现代码:CounterImpl.java
(4)编写并编译服务端程序: Server.java
(5)编写并编译客户端程序: Client.java

2.题目分析
<1>题目1.Java版CORBA程序1——HelloWorld:
(1)配置JDK环境:右击我的电脑->属性->高级设置…(网上有教程,不一一赘述了)
(2)编写编译IDL接口:在G盘新建一个文件夹,在这个位置新建一个记事本,把接口代码写进去,保存为HelloWorld.idl;修改cmd窗口的起始位置,输入idlj –fall HelloWorld.idl,编译结果生成sample包
(3)编写服务端程序:在HelloWorld.idl所在的文件夹里新建记事本,编写服务端代码,保存为HelloWorldServer.java
(4)编写客户端程序:同理,在HelloWorld.idl所在的文件夹里新建记事本,编写客户端代码,保存为HelloWorldClient.java
(5).java文件转换为.class文件:打开cmd窗口,在路径正确的情况下分别输入javac HelloWorldServer.java和HelloWorldClient.java,可以看到文件夹里多了.class文件
(6)启动名字服务器:X:\corba >tnameserv -ORBInitialPort 1050(其中红色的表示路径)
(7)编译服务端程序:X:\corba >java HelloWorldServer -ORBInitialPort 1050
,这时会输出:HelloWorld is running
(8)编译客户端程序:X:\corba >java HelloWorldClient -ORBInitialPort 1050,这时会输出:Hello World!(注:如果要输出班级+姓名,需要将第二步HelloWorld.idl代码中的string改为wstring,并且要将HelloWorldServer.java中的return返回值的内容里加上班级+姓名)

<2>题目2…JAVA版CORBA程序2——Counter
(1)配置JDK环境
(2)编写编译IDL接口:在G盘新建一个文件夹,在这个位置新建一个记事本,把接口代码写进去,保存为counter.idl;修改cmd窗口的起始位置,输入idlj –fall counter.idl,编译结果生成CounterApp包
(3)编写对象实现代码:在counter.idl所在的文件夹里新建记事本,编写对象实现代码,保存为CounterImpl.java
(4)编写服务端程序:同理,在counter.idl所在的文件夹里新建记事本,编写服务端代码,保存为 Server.java
(5)编写客户端程序: 同理,在counter.idl所在的文件夹里新建记事本,编写客户端代码,保存为 Client.java
(6).java文件转换为.class文件:打开cmd窗口,在路径正确的情况下分别输入javac CounterImpl.java、javac Server.java、javac Client.java,可以看到文件夹里多了.class文件
(7)启动名字服务器:X:\corba >tnameserv -ORBInitialPort 1050(其中红色的表示路径)
(8)编译服务端程序:X:\corba >java HelloWorldServer -ORBInitialPort 1050
,这时会输出:输出:Server started. Stop: Ctrl-c
(9)编译客户端程序:X:\corba >java HelloWorldClient -ORBInitialPort 1050,这时会出现+、-、e三个操作,分别可以实现加、减、结束程序的操作

3.运行结果
<1>题目一:Java版CORBA程序1——HelloWorld
(1)配制环境JDK环境并编写编译IDL接口:

在这里插入图片描述
(2)将.java转为.class
在这里插入图片描述
(3)启动名字服务器:G:\IDL >tnameserv -ORBInitialPort 1050
在这里插入图片描述
(4)启动服务端程序:G:\IDL >java HelloWorldServer -ORBInitialPort 1050
在这里插入图片描述
(5)启动客户端程序:G:\IDL >java HelloWorldClient -ORBInitialPort 1050
在这里插入图片描述
输出:Hello World!班级+姓名

<2>题目二:JAVA版CORBA程序2——Counter
(1)编译IDL接口:G:\Counter>idlj –fall counter.idl

在这里插入图片描述
(2)将.java转为.class
在这里插入图片描述
(3)启动名字服务器:G:\Counter>tnameserv -ORBInitialPort 1050
在这里插入图片描述
(4)启动服务端程序:G:\Counter>java Server -ORBInitialPort 1050
在这里插入图片描述
(5)启动客户端程序:G:\Counter>java Client -ORBInitialPort 1050
在这里插入图片描述
第一次输入:+ 运行:0+1 输出:1
第二次输入:- 运行:1-1 输出:0
第三次输入:e 结果:结束程序

5.心得体会
第一次接触这种不需要eclipse就可以在cmd运行的代码,完全不知道如何下手,配置jdk环境比较成功,在cmd运行.idl接口文件也很顺利,但这里有一个小细节,第一题的.idl的字符定义的是string类型,但最后输出要求是班级+姓名,也就是要有中文字符的,所以要把string改成wstring类型,这样到后面才不会报错,这点要特别注意!!
在编辑客户端、服务端程序时走了弯路,以为要在eclipse里编译,建了工程,查了很多资料,最后发现不是这样写,重来也是很绝望。
在将.java文件转换为.class文件这一操作上我犯了一个低级错误,我将客户端、服务端的文件名保存为**.java后发现没有后缀名(其实是隐藏了)后自己又手动加了个.java,结果在转换这里出问题了,cmd找不到文件!!!我百度了一下,有人说是环境配置里的path没有设置好,然后我又开始了漫长的配置环境之路~~~(其实根本没必要,环境配置没有出问题)
其实还有一个细节,就是在HelloWorldServer.java中的return返回值的内容里加上班级+姓名,但这一点是要在“将.java文件转换为.class文件”这一操作之前就要完成的,否则要从这一步重来。
懂了第一题再去做第二题就so easy啦!!
以上就是我遇到的一些问题,其实我花费的时间还是挺长的,因为起初并不知道CORBA怎么操作,但是我也挺幸运的,靠自己不断查资料成功的解决了一个个问题,反正这次作业给我的感受就是:还是eclipse方便啊!!!还有深深的体会到了开发人员的强大以及cmd的多元化…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值