Java RMI 简单示例

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

RMI是Java平台实现远程调用的规范,下面是一个小例子,本机测试通过

一共有三个java类,远程接口,服务端程序,客户端程序

远程接口:

import java.rmi.*;

public interface HelloIn extends java.rmi.Remote{

String sayHello() throws RemoteException;

}

服务端程序:

import java.rmi.*;

import java.net.*;

import java.rmi.registry.*;

import java.rmi.server.*;

public class Hello extends java.rmi.server.UnicastRemoteObject implements HelloIn{

public Hello() throws RemoteException{

super();

}

public String sayHello() throws RemoteException{

return "Hello,World!";

}

public static void main(String[] args){

//System.setSecurityManager(new java.rmi.RMISecurityManager());

try{

Hello h=new Hello();

java.rmi.Naming.rebind("hello",h);

System.out.print("Ready......");

}

catch(Exception e){

e.printStackTrace();

}

}

}

执行服务端程序前在命令行方式下启动rmi的注册程序: start rmiregistry

客户端程序:

import java.rmi.*;

import java.rmi.registry.*;

public class Helloworld{

public static void main(String[] args){

//System.setProperty( "java.security.policy", "client.policy" );

//System.setSecurityManager(new java.rmi.RMISecurityManager());

try{

HelloIn hi=(HelloIn)Naming.lookup("//fengl/hello");

for(int i=0;i<10;i++){

System.out.println(hi.sayHello());

}

}

catch(Exception e){

e.printStackTrace();

}

}

}

执行客户端程序前先用 rmic Hello 生成Stub 和 Skeleton 的class,它们

实际上是远程调用的底层的实现。

最后执行java Helloworld 控制台打印出 Hello,World,成功调用.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航