首页 JAVA版CORBA程序HelloWorld

JAVA版CORBA程序HelloWorld

举报
开通vip

JAVA版CORBA程序HelloWorldJAVA、CORBA版HelloWorld程序 JAVA、CORBA版HelloWorld程序 开发环境:JDK1.5,Windows XP 实现步骤: A 编写编译IDL接口 B 编写编译服务端程序 C 编写编译客户端程序 D 运行 实现详解: 1 编写IDL接口HelloWorld.idl: module sample{ interface HelloWorld{ string sayHello(); }; }; 说明:CORBA处理字符串有:String和wstring两种类型,string类型主要用于处理A...

JAVA版CORBA程序HelloWorld
JAVA、CORBA版HelloWorld程序 JAVA、CORBA版HelloWorld程序 开发环境:JDK1.5,Windows XP 实现步骤: A 编写编译IDL接口 B 编写编译服务端程序 C 编写编译客户端程序 D 运行 实现详解: 1 编写IDL接口HelloWorld.idl: module sample{ interface HelloWorld{ string sayHello(); }; }; 说明:CORBA处理字符串有:String和wstring两种类型,string类型主要用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。 2编译IDL接口:E:\corba>idlj –fall HelloWorld.idl 编译结果生成sample包,生成下述文件 _HelloWorldStub.java HelloWorld.java HelloWorldHelper.java HelloWorldHolder.java HelloWorldOperations.java HelloWorldPOA.java 3 编写并编译服务端程序:HelloWorldServer.java import sample.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; import org.omg.CORBA.portable.*; import org.omg.PortableServer.*; class HelloWorldServant extends HelloWorldPOA{ public String sayHello(){ return "\nHello World!\n"; } } public class HelloWorldServer{ public static void main(String args[]){ try{ //Initialize CORBA ORB orb = ORB.init(args, null); org.omg.CORBA.Object poaobj = orb.resolve_initial_references ("RootPOA"); org.omg.PortableServer.POA rootPOA = org.omg.PortableServer.POAHelper.narrow(poaobj); org.omg.PortableServer.POAManager manager = rootPOA.the_POAManager(); //New Servant HelloWorldServant objRef = new HelloWorldServant(); HelloWorld obj = objRef._this(orb); //Binding NamingContext ncRef = NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); NameComponent nc = new NameComponent("HelloWorld", ""); NameComponent path[] = {nc}; ncRef.rebind(path, obj); //Run manager.activate(); System.out.println("HelloWorld is running!"); orb.run(); }catch (Exception e) { System.err.println("ERROR: " + e); e.printStackTrace(System.out); } } } 4 编写并编译客户端程序: HelloWorldClient.java import sample.*; import org.omg.CosNaming.*; import org.omg.CORBA.*; public class HelloWorldClient { public static void main(String args[]) { try{ ORB orb = ORB.init(args, null); org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContext ncRef = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("HelloWorld",""); NameComponent path[] = {nc}; HelloWorld helloWorld = HelloWorldHelper.narrow(ncRef.resolve(path)); String hello = helloWorld.sayHello(); System.out.println(hello); } catch (Exception e) { System.out.println("ERROR : " + e) ; e.printStackTrace(System.out); } } } 5 运行 启动名字服务器:E:\corba >tnameserv -ORBInitialPort 1050 启动服务端程序:E:\corba >java HelloWorldServer -ORBInitialPort 1050 输出:HelloWorld is running 启动客户端程序:E:\corba >java HelloWorldClient -ORBInitialPort 1050 输出:Hello World! 注释: 1、​ 要转到class文件所在目录启动相应程序; 2、​ 名字服务器、服务端和客户端要分别启动一个DOS命令提示符界面。 3、​ 可采用批处理命令启动相应程序,分别为: (1)启动名字服务器: tnameserv -ORBInitialPort 1050 @pause (2)启动服务器端程序: java HelloWorldServer -ORBInitialPort 1050 @pause (3)启动客户端程序: java HelloWorldClient -ORBInitialPort 1050 @pause 4、​ 要求编写实现显示“Hello,World!+班级+姓名”字符串
本文档为【JAVA版CORBA程序HelloWorld】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_164449
暂无简介~
格式:doc
大小:40KB
软件:Word
页数:3
分类:
上传时间:2011-06-17
浏览量:63