当前位置: 首页 > news >正文

九亭微信网站建设59软文网

九亭微信网站建设,59软文网,wordpress cron原理,传统文化传播公司网站建设Java&CORBA编程实例2要熟练掌握CORBA也并不容易。本文再提供一个Java与CORBA编程的例子,以进一步加深对CORBA的认识。一、编写IDL文件counter.idl源码:module CounterApp{interface Counter{readonly attribute long value;void inc();void dec();};…

Java&CORBA编程实例2

要熟练掌握CORBA也并不容易。本文再提供一个Java与CORBA编程的例子,以进一步加深对CORBA的认识。

一、编写IDL文件

counter.idl源码:

module CounterApp{

interface Counter{

readonly attribute long value;

void inc();

void dec();

};

};

二、用idlj生成需要的文件

命令:idlj -fall counter.idl

生成的文件如下图所示:

MyPic238.jpg

三、编写服务器端文件

1)编写Server.java

Server.java源码:

package server;

import CounterApp.*;

import java.util.Properties;

import org.omg.CORBA.*;

import org.omg.PortableServer.POA;

import org.omg.PortableServer.POAHelper;

import java.io.*;

import static java.lang.System.*;

public class Server {

public static void main(String[] args){

try{

Properties props = getProperties();

ORB orb = ORB.init(args, props);

org.omg.CORBA.Object obj = null;

POA rootPOA = null;

try{

obj = orb.resolve_initial_references("RootPOA");

rootPOA = POAHelper.narrow(obj);

}catch(org.omg.CORBA.ORBPackage.InvalidName e){

}

CounterImpl c_impl = new CounterImpl();

Counter c = c_impl._this(orb);

try{

FileOutputStream file = new FileOutputStream("Counter.ref");

PrintWriter writer = new PrintWriter(file);

String ref = orb.object_to_string(c);

writer.println(ref);

writer.flush();

file.close();

out.println("Server started."+" Stop: Ctrl-c");

}catch(IOException ex){

out.println("File error: "+ex.getMessage());

exit(2);

}

rootPOA.the_POAManager().activate();

orb.run();

}catch(Exception ex){

out.println("Exception: "+ex.getMessage());

exit(1);

}

}

}

2)编写CounterImpl.java

CounterImpl.java源码:

package server;

import CounterApp.*;

public class CounterImpl extends CounterPOA {

private int count;

public CounterImpl(){

count = 0;

}

public void inc(){

count++;

}

public void dec(){

count--;

}

public int value(){

return count;

}

}

四、编写客户端文件

Client.java源码:

package client;

import CounterApp.*;

import java.util.*;

import java.io.*;

import org.omg.CORBA.*;

import static java.lang.System.*;

public class Client {

public static void main(String[] args){

try{

Properties props = getProperties();

ORB orb = ORB.init(args, props);

String ref = null;

org.omg.CORBA.Object obj = null;

try{

Scanner reader = new Scanner(new File("Counter.ref"));

ref = reader.nextLine();

}catch(IOException ex){

out.println("File error: "+ex.getMessage());

exit(2);

}

obj = orb.string_to_object(ref);

if(obj == null){

out.println("Invalid IOR");

exit(4);

}

Counter c = null;

try{

c = CounterHelper.narrow(obj);

}catch(BAD_PARAM ex){

out.println("Narrowing failed");

exit(3);

}

int inp = -1;

do{

out.print("Counter value: "+c.value()+"/nAction(+/-/e)?");

out.flush();

do{

try{

inp = in.read();

}catch(IOException ioe){}

}while(inp != '+' && inp != '-' && inp != 'e');

if(inp == '+')

c.inc();

else if(inp == '-')

c.dec();

}while(inp != 'e');

}catch(Exception ex){

out.println("Exception: "+ex.getMessage());

exit(1);

}

}

}

五、整个项目结构图

如图所示:

MyPic239.jpg

六、运行程序:

1)启动orbd

start orbd -ORBInitialPort 1050 -ORBInitialHost localhost

2)开始Server服务器

java server/Server -ORBInitialPort 1050 -ORBInitialHost localhost

注:如在同一台主机上运行,可省略-ORBInitialHost localhost

3)运行客户端应用程序

java client/Client -ORBInitialPort 1050 -ORBInitialHost localhost

七、运行结果截图:

服务器端截图:

MyPic240.jpg

客户端截图:

MyPic241.jpg

http://www.lbrq.cn/news/2492191.html

相关文章:

  • 党建网站建设课题自助优化排名工具
  • jsp ajax网站开发典型实例pdf整合营销传播的方法包括
  • 旅游网站建设步骤做网络推广一个月的收入
  • 邯郸做网站推广找谁seo博客写作
  • 手机端网站如何做排名靠前营销网站建设免费
  • 江苏城乡住房和城乡建设厅网站百度seo策略
  • 地方门户网站用户seo网站推广优化
  • 服装公司电商网站建设规划seo优化工具有哪些
  • 帝国做的网站怎么上传关键词seo价格
  • 用.net做视频网站的案例会员制营销
  • 让人做网站 需要准备什么条件推广app的方法和策略
  • 永川做网站的公司今日最新重大新闻
  • wordpress主题发布站源码推广平台的方法
  • 网站怎么做才不会被墙企业网站优化哪家好
  • 汽车行业网站建设搜狐新闻手机网
  • 手机网站后台管理系统seo公司推荐
  • 哪家公司建设网站python培训
  • 中国有色金属建设股份有限公司网站seo在线外链
  • 永春网站设计查权重工具
  • 江西头条热点新闻搜索引擎排名优化程序
  • seo站内站怎么做青岛关键词排名提升
  • 南宁网页制作培训网站关键词优化代理
  • 有关网站建设的知识幽默软文经典案例300
  • 网站开发最新技术适合推广的app有哪些
  • 进一步加强舆情管控安徽网站关键字优化
  • 网站制作合同书上海优化seo
  • mvc电子商务网站开发网站推广怎么优化
  • 多配色创意metro风格企业网站织梦模板整lol今日赛事直播
  • 深圳哪个网站好推广一点深圳全网推广排名
  • 在网站做推广要钱吗最新疫情最新消息
  • Android:Reverse 实战 part 2 番外 IDA python
  • 集合框架学习
  • RAG vs 微调
  • XML Schema 指示器:全面解析与深度应用
  • Matlab自学笔记六十五:解方程的数值解法(代码速成)
  • 框架式3D打印机结构设计cad【9张】三维图+设计说明书