快速业务通道

用CORBA创建Client/Server程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
ava)通信。

用CORBA创建Client/Server程序(2)

时间:2010-07-08

客户端代码是非常简单的,下面是你能创建的最小的客户端程序。

// Client.java public class Client { public static void main(String[] args) { Counter.Count count = null; org.omg.CORBA.ORB orb = null; // Initialize the ORB orb = org.omg.CORBA.ORB.init(); // Bind to the object on the server count = Counter.CountHelper.bind(orb, "test"); // Call the server functions count.increment(); System.out.println("Current Count = " + count.getCounter()); // clean up count = null; orb.shutdown(); } }

在这段代码里你可以看到Client实例化ORB,绑定helper对象为了连接Server,接着开始调用方法,为了编译这段代码,储存文件名为Client.java并且输入:

vbjc Client.java

另外,为ORB可以加入三个jar文件到你的Class Path中并其用javac编译Client(三个jar文件是:vbjorb.jar,vbjapp.jar和vbjtools.jar)

假如你想让客户端代码发现问题并且告诉你,你要修改Client.java如下:

// Client.java public class Client { public static void main(String[] args) { Counter.Count count = null; org.omg.CORBA.ORB orb = null; // Initialize the ORB try { orb = org.omg.CORBA.ORB.init(); } catch (org.omg.CORBA.SystemException se) { System.err.println("initializtion problem in the ORB " + se); System.exit(1); } // Bind to the object on the server try { count = Counter.CountHelper.bind(orb, "test"); } catch (org.omg.CORBA.SystemException se) { System.err.println("Binding problem in the ORB " + se); System.exit(1); } try { count.increment(); System.out.println("Current Count = " + count.getCounter()); } catch (org.omg.CORBA.SystemException se) { System.err.println("Increment failure " + se); System.exit(1); } // clean up try { count = null; orb.shutdown(); } catch (org.omg.CORBA.SystemException se) { System.err.println("Problem with cleanup " + se); System.exit(1); } } }

用CORBA创建Client/Server程序(3)

时间:2010-07-08

当你初始化ORB并且绑定到Server时你有多个选项:

1.ORB可以从命令行中接受并且分析这些选项。

2.你可以设置绑定选项。

3.你可以直接连到一个指定的机器。

下面的代码段为你展示了这三个选项

orb = org.omg.CORBA.ORB.init(args, null); org.omg.CORBA.BindOptions bindOptions = new org.omg.CORBA.BindOptions(); bindOptions.defer_bind = false; bindOptions.enable_rebind = true; count = Counter.CountHelper.bind(orb, "test", "marshall.iftech.com", bindOptions);

这是初始化从命令行中接受参数,绑定接受了一个指定的机器名和选项。

在Server你需要创建两段代码,一段为了Client绑定而且执行Count类(Count类继承与ImplBase类),如下所示:

// CountImpl.java public class CountImpl extends Counter._CountImplBase { private int c = 0; public CountImpl(String name) { super(name); } public CountImpl() { super(); } public void increment() { c = c + 1; System.out.println(c); } public int getCounter() { return c; } }

这个类不能再少了,它的功能只是实现类里的方法,执行这个类的Server代码如下:

// Server.java public class Server { public static void main(String[] args) { o

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号