Java中有关ONC RPC应用的开发介绍

本文的重点是介绍如何用Java一步一步来开发ONC RPC的应用。

有关RPC、ONC、RPCGEN、XDR等概念的介绍可以参考如下网站
http://en.wikipedia.org/wiki/Remote_procedure_call
http://en.wikipedia.org/wiki/RPCGEN
http://en.wikipedia.org/wiki/ONC_RPC

测试相关的所有源代码提供附件下载:rpc_onc_demo.zip

一、开源软件

开源软件:Remotetea (http://sourceforge.net/projects/remotetea/)是用java实现了ONC/RPC
协议,由于是纯100%的Java编写,所以不需要任何本地的库。请在http://sourceforge.net/projects/remotetea/files/remotetea/,下载remotetea-bin-doc-1.0.7.zip(目前最新版本)包并解压,可以在classes文件夹中找到jrpcgen.jar、oncrpc.jar和portmap.jar

二、RPC语言

RPC语言是XDR语言的控制扩展,与XDR语言一样在RFC1014中定义。句法的注意事项:
a. 有两个保留字:“program”和“version”。
b. 一个程序定义中不能出现两次版本名或版本号。
c. 在一个版本的定义中,过程名称至多只能出现一次。
d. 程序标识与常量和类型标识在同一空间中。
e. 只有无符号常数才能被附值给程序,版本和过程。

三、应用开发

1.创建.x文件:MyRPCDemo.x

2.运用jrpcgen.jar 生成java文件

生成后会看到三个文件:MyRPCDemo.java、MyRPCDemoClient.java、MyRPCDemoServerStub.java

详细源代码见上面附件提供的下载。

3.编写ONCRPC服务端代码:MyRPCDemoServer.java

4.编写客户端测试代码:MyRPCDemoClientTest.java

5.测试应用

第一步:先启动jportmap,cmd窗口中运行命令如下:

第二步:编译运行服务端程序MyRPCDemoServer.java

最后:最后编译运行客户端测试程序MyRPCDemoClientTest.java

执行结果截图如下:

截图中可看出客户端能正常和服务端通信。

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/soa/rpc/java-onc-rpc/

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">