快速业务通道

简单理解RMI - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
rmistudy; 2 3import java.rmi.*; 4import java.rmi.server.*; 5 6public class ServerImp extends UnicastRemoteObject implements IServer { 7 8  public ServerImp() throws RemoteException { 9    super(); 10  } 11 12 13  public void doSomeThing() throws RemoteException { 14 15    System.out.println("不带参数的远程函数doSomeThing()被调用,该信息显示 在服务器端。"); 16 17  } 18 19  public String doSomeThing(ISerializableWorker wk) throws RemoteException { 20    wk.work(); 21    return new String("调用成功,该信息来自服务器端。"); 22  } 23 24  /** *//** 25   * @param args 26   */ 27  public static void main(String[] args) { 28    ServerImp server = null; 29 30    try{ 31      server = new ServerImp(); 32    }catch(Exception e){ 33      System.out.println("创建远程对象失败:"); 34      System.out.println(e.getMessage()); 35      System.exit(0); 36    } 37 38    try{ 39      java.rmi.Naming.rebind("//localhost/MyServer", server); 40      System.out.println("远程对象绑定成功。"); 41    }catch(Exception e){ 42      System.out.println("远程对象绑定失败:"); 43      System.out.println(e.getMessage()); 44      System.exit(0); 45    } 46  } 47 48}

简单理解RMI(6)

时间:2011-04-13 海边沫沫

Client.java

1package rmistudy; 2 3import java.rmi.*; 4 5public class Client { 6 7  /** *//** 8   * @param args 9   */ 10  public static void main(String[] args) { 11    IServer server = null; 12 13    try{ 14      server = (IServer)Naming.lookup("//localhost/MyServer"); 15      System.out.println("查找远程对象成功。"); 16    }catch(Exception e){ 17      System.out.println("查找远程对象失败:"); 18      System.out.println(e.getMessage()); 19      System.exit(0); 20    } 21 22    try{ 23      server.doSomeThing(); 24      System.out.println("调用doSomeThing()成功。"); 25      String str = server.doSomeThing(new SerializableWorkerImp()); 26      System.out.println("调用带序列化参数的doSomeThing()成功"); 27      System.out.println("从服务器端返回的字符串:"+str); 28    }catch(Exception e){ 29      System.out.println("调用doSomeThing()失败:"); 30      System.out.println(e.getMessage()); 31      System.exit(0); 32    } 33 34  } 35 36} 37

简单理解RMI(7)

时间:2011-04-13 海边沫沫

程序的运行方法同前,我就不再罗嗦了。这里需要注意的是,该示例在单机上运行可以, 但是真的在分布环境下运行就会出错,毕竟,别人要把一个对象传递到你的机器上,怎么着 你也要放着别人的对象搞破坏吧。最后我们会讨论安全问题。

另外一种参数的传递方式,就是按照引用传递,如果作为参数的对象是扩展自 java.rmi.server.UnicastRemoteObject类的话,那么该对象传递给远程方法的只是它的引用 。比如,客户端创建了一个扩展自java.rmi.server.UnicastRemoteObje

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号