<b>用RMI举行远程办法调用</b>[Java编程]
本文“<b>用RMI举行远程办法调用</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
远程办法调用(RMI)机制可以把面向对象的思惟进一步扩大,因为你可以调用的对象不但可以在本机上,也可以在别的主机上.本文就简单介绍rmi的编程办法.
首先介绍一些简单的rmi的概念.
1,服务器和客户:在rmi中,假若有一个对象举行远程办法调用,这个对象就叫做客户机对象,而远程对象则被称为服务器对象.
2,成立服务器对象的服务器程序:这个程序用来成立服务器对象,注册这个对象,使得客户可以通过注册的名称拜候服务器对象.
3,接口(interface),接口可以让客户端理解服务器所能做的工作.更具体的说,就是它列出了可以在服务器上履行的全部办法.客户端程序必须可以找到这个类,不然就不能履行对服务器函数的调用.
4,客户桩(stub),有的书中翻译成为代码存根,它给客户端程序供应一个桩,这个桩上"绑"着服务器对象.当客户程序需求调用远程对象时,这个桩被下载到客户端(假如客户端有这个类,则不需求下载).然后客户便可以像调用本地办法一样调用远程的办法了.
这个客户桩的作用是将客户向服务器的恳求举行编码、举行传输,服务器履行这次调用后将后果返回到客户桩,客户桩举行解码,将解码后的后果传送到客户程序中.关于编写客户端的程序员来说,他不需求知道此中的具体历程.
客户桩不需求自己编写,背面会阐明它的生成办法.它实现了前述的接口(interface).
下面就通过一个例子来阐明编写的历程.
1,编写服务器的接口:这一步是最主要的部份,因为接口是衔接客户机与服务器的关键部份.在这个例子中,接口很简单,代码以下:
import java.rmi.*;
public interface Product extends Remote
{
String getDescription() throws RemoteException;
}
在这里应注意的是,远程对象的接口一定要扩大(extend)Java.rmi包的Remote接口.同时接口中的全部的办法都要声明抛出RemoteException非常.这是因为由于网络衔接的不坚固性,远程办法调用极大概失利.假如不声明非常,在远程办法调用失利后,利用程序就会无法完毕.
2,编写服务器对象:
Java中具有一个可以直接利用的服务器类--UniCastRemoteObject.它存在于Java.rmi.server包中.我们可以直接扩大这个类,使它实现前述的接口.这样便可以使服务器满意我们的需求.
import java.rmi.server.*;
import java.rmi.*;
public class ProductImpl extends UnicastRemoteObject implements Product
{
public ProductImpl(String name) throws RemoteException
{
Desc = name;
}
public String getDescription() throws RemoteException
{
return "This is "+Desc+" product";
}
private String Desc;
}
可以看到,rmi服务器的实现和其他的办法代码没有什么差别.
以上是“<b>用RMI举行远程办法调用</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |