• JAVA版CORBA程序


    1.题目分析
    题目1.Java版CORBA程序1——HelloWorld
    编写实现显示“Hello,World!+班级+中文姓名”字符串。
    题目2.JAVA版CORBA程序2——Counter
    编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。

    2.组件实现
    题目1. HelloWorld
    1 编写IDL接口HelloWorld.idl:

    module sample{
    interface HelloWorld{
    wstring sayHello();
    };
    };
    1
    2
    3
    4
    5
    2编译IDL接口:X:corba>idlj –fall HelloWorld.idl
    编译结果生成sample包,生成下述文件
    _HelloWorldStub.java
    HelloWorld.java
    HelloWorldHelper.java
    HelloWorldHolder.java
    HelloWorldOperations.java
    HelloWorldPOA.java
    3 编写并编译服务端程序:HelloWorldServer.java

    class HelloWorldServant extends HelloWorldPOA{
    //对象实现类
    public String sayHello(){
    return " Hello World! xxxxxxn";
    }
    }
    1
    2
    3
    4
    5
    6
    4 编写并编译客户端程序: HelloWorldClient.java
    5 运行
    启动名字服务器:X:corba >tnameserv -ORBInitialPort 1050
    启动服务端程序:X:corba >java HelloWorldServer -ORBInitialPort 1050
    输出:HelloWorld is running
    启动客户端程序:X:corba >java HelloWorldClient -ORBInitialPort 1050
    输出:Hello World! xxxxx
    题目2. Counter
    1 编写IDL接口counter.idl:
    module CounterApp{

    interface Counter{
    readonly attribute long value;
    void inc();
    void dec();
    };
    };
    1
    2
    3
    4
    5
    6
    2编译IDL接口:X:corba>idlj –fall counter.idl
    编译结果生成CounterApp包,生成下述文件
    _CounterStub.java
    Counter.java
    CounterHelper.java
    CounterHolder.java
    CounterOperations.java
    CounterPOA.java
    3 编写并编译对象实现代码:CounterImpl.java
    4 编写并编译服务端程序: Server.java
    5 编写并编译客户端程序: Client.java
    5 运行
    启动名字服务器:X:corba >tnameserv -ORBInitialPort 1050
    启动服务端程序:X:corba >java Server -ORBInitialPort 1050
    输出:Server started. Stop: Ctrl-c
    启动客户端程序:X:corba >java Client -ORBInitialPort 1050

    3.测试、调试及运行结果
    题目1. HelloWorld
    1 编写并编译IDL接口:

    图1.1 编译IDL接口
    2 编写并编译服务端程序:HelloWorldServer.java,以及客户端程序: HelloWorldClient.java:

    图1.2 编写并编译客户端和服务端程序
    3 运行,输出:Hello World! 秦子琳 软工1704。

    图1.3 运行
    题目2. Counter
    1 编写并编译IDL接口:
    在这里插入图片描述
    图1.1 编译IDL接口
    2 编写并编译对象实现代码:CounterImpl.java,服务端程序: Server.java以及客户端程序: Client.java:

    图1.2 编写并编译对象实现、客户端和服务端程序
    3 运行并测试,实现自加自减功能:

    图2.3 运行并测试
    4.经验归纳
    1 在进行操作前,需在jdk目录下添加JAVA_HOME环境变量,并在系统环境变量Path下添加“%JAVA_HOME%in”路径。
    2 在cmd中,使用“javac 文件名.java”编译java程序,产生.class的文件;
    使用“java 文件名”运行java程序,得到运行结果。
    3 CORBA中处理字符串有:String和wstring两种类型。string类型主要用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。只需将IDL接口中的“string”改为“wstring”,运行结果即可输出中文,否则会报错。
    --------------------- 

  • 相关阅读:
    tbusers
    Dism解决win 10访问服务器共享问题,共享需要过时的SMB1协议,安装时错误代码:0x800736B3
    &【03】Python 变量与数据类型概览
    & 【01】 Spring源码编译
    &【02】Python 基础语法
    linux出现 -bash: fork: Cannot allocate memory 问题
    并发编程-15 ThreadPoolExecutor线程池
    Spring事务嵌套问题记录
    多线程笔试题记录
    & IDEA Debug启动失败或启动慢
  • 原文地址:https://www.cnblogs.com/ly570/p/10947703.html
Copyright © 2020-2023  润新知