如何使用多线程的远程方法调用实现客户端和服务器端的通信
RMI (远程方法)是 Java platform中建立分布式计算的基础, 一个JVM中的Java应用程序可以调用另一JVM上的对象(远程对象)所定义的方法。 Java RMI有着重要的意义。RMI在Java网络编程和高级编程中都有重要的应用,如EJB, Jini等。
RMI的调用是基于接口的,这个接口的定语需要客户知道,客户程序运行时需要一个实现该接口的类的存根(stub)。RMI的内部使用了TCP/IP连接方式,因此需要一个安全机制,且需要对客户机的权限进行一定的设置。
想要被远程调用的接口需要扩展Remote类,接口中定义的方法需要对RemoteException异常进行处理,当然,也可以只是抛出异常,将对异常的处理延迟到别的类。RMI的安全处理机制使用的是RMISecurityManager,这个类提供必要的安全验证等处理,而权限控制是通过在客户端和服务端分别设置policy文件来做到的。
特别的,当一个服务器需要同时处理多个客户要求的时候,可能需要用到用多线程的分梳流程。 多线程的使用可以区别不同客户的不同要求,在服务器端可以分辨出不同客户的要求的内容。 下面就举一个小列子来阐述利用
使用RMI技术共有6个步骤要走: (1)定义和实现远端接口中的参数 (2) 定义和实现远端接口 (3) 编写服务端代码 (4)编写客户端代码 (5)生成stub和skeltion ,并将stub打包到客户端jar中,将skeltion打包到服务端jar中 (6)启动rmiregistry , 并将服务注册到rmiregistry中,然后运行代码.