首页 > 编程知识 正文

corba已经过时(corba架构)

时间:2023-05-05 02:24:03 阅读:73822 作者:3384

编程方法学第五次机载机器

一.主题分析

主题1 :

1 .创建IDL接口HelloWorld.idl

2 .编译IDL接口: x :CORBA idljfall hello world.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 : (corbajavahelloworldserver-orbinitialport 1050

输出: HelloWorld is running

启动客户端程序: x :corbajavahelloworldclient-orbinitialport 1050

输出: Hello World!

主题2 :

编制连加、连减、加减混合等数学/- -运算并进行测试。

1 .创建IDL接口counter.idl

2 .编译IDL接口: x :CORBA idljfall counter.IDL。 编译结果生成CounterApp包

3 .创建和编译对象实现代码: CounterImpl.java

4 .创建和编译服务端程序: Server.java

5 .创建和编译客户端程序: Client.java

6 .驾驶

启动名称服务器: x :CORBA tnameserv-orbinitialport 1050

启动服务端程序: x :CORBA Java server-orbinitialport 1050

输出: Server started. Stop: Ctrl-c

启动客户端程序: x :corbajavaclient-orbinitialport 1050

二. CORBA模型分析

参考: https://blog.csdn.net/a单次世界大战/article/details/90316627

主题1 :

主题2 :

3 .组件实现(代码见压缩包) )。

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

主题1 :

首先,创建一个新的HelloWorld文件夹,在其中创建HelloWorld.idl,然后编译IDL界面(x : (CORBA idljfall hello world.IDL ) )。

sample文件夹显示在HelloWorld.Iidl的同级目录下,单击以显示:

2…创建和编译服务端程序:HelloWorldServer.java和客户端程序: HelloWorldClient.java :

3 .启动名称服务器: x : (CORBA tnameserv-orbinitialport 1050 )

4 .启动服务端程序: x : (corbajavahelloworldserver-orbinitialport 1050

输出: HelloWorld is running

5 .启动客户端程序: x : (corbajavahelloworldclient-orbinitialport 1050 )

输出: Hello World!

主题是实现显示“Hello,World! 类的中文名称”字符串、

因此,必须将HelloWorld.idl中的字符串更改为wstring。 wstring用于处理多字节字符串。

将HelloWorldServer.java下的程序修改为:

然后,与运行CORBA程序时一样,可以获得以下结果:

主题2 :

创建新的Counter文件夹,将其放入Counter.idl中,然后编译IDL界面: x :CORBA idljfall counter.IDL

2 .生成编译结果CounterApp包

在CounterApp子目录中

3 .创建和编译对象实现代码: CounterImpl.java、Server.java、Client.java

4 .启动名称服务器: x : (CORBA tnameserv-orbinitialport 1050 )

5 .启动服务端程序: x : (CORBA Java server-orbinitialport 1050

输出: Server started. Stop: Ctrl-c

6 .启动客户端程序: x :corbajavaclient-orbinitialport 1050

5 .经验总结

主题1 :

有两种类型的CORBA处理字符串:字符串和wString。 string类型主要用于处理ASCII类型的字符串,而wstring用于处理多字节字符串,如中文。 要像作业一样最终显示中文课、名字和学习号码,必须将HelloWorld.Idl中的字符串更改为wstring,然后将中文课、名字和学习号码添加到HelloWorldServer.java中。 否则,运行到最后时会发生堆栈溢出。

主题2 :

在此主题中,首先创建一个新的Counter文件夹,将其放入Counter.idl中,编译IDL界面: x : (CORBA idljfall Counter.idl,然后根据编译结果编辑counter.IDL 创建和编译CounterImpl.java、Server.java和Client.java时,将出现以下错误:

但是,自己在确认上述操作正确的基础上,更换了电脑,执行了作业2,竟然成功了。 没有发生什么错误。 这也是个疑问。 也提交上次提交的工作中错误的文件夹Counter_false。 Counter是正确的文件夹。

此外,要运行服务、服务端程序和客户端程序,请启动三个cmd窗口。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。