这两天在玩java的远程调用,因为之前一直没有接触过,也没有写过demo。玩起来还是走了很多弯路的,在网上搜了很多blog,很多技术大牛的blog写的很不错,但对于新手来说,有些问题还是没有讲解清楚。花了蛮多时间,终于整理出自己的一个demo。因此附上,供以后学习之用。
在java 基础讲义部分并没有提及java RMI技术,在Head First Java一书中有一章将java 提到RMI技术,但内容不多。大部分RMI技术的知识我获取渠道是网上。所列出知识点是个人能接受的。
RMI远程方法调用(Remote Method Invocation)。能够让在某个Java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。
RMI远程调用步骤:
1,客户对象调用客户端辅助对象上的方法
2,客户端辅助对象打包调用信息(变量,方法名),通过网络发送给服务端辅助对象
3,服务端辅助对象将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该方法所在对象
4,调用真正服务对象上的真正方法,并将结果返回给服务端辅助对象
5,服务端辅助对象将结果打包,发送给客户端辅助对象
6,客户端辅助对象将返回值解包,返回给客户对象
7,客户对象获得返回值
RMI远程服务搭建步骤:1、创建远程接口,创建远程接口并继承Remote接口。
2、实现远程接口。
3、利用rmic工具对实现类产生stub存根类和skeleton骨架类。
4、注册RMI服务。
5、启动服务。
6、编写客户端代码
看例子,在Eclipse中搭建Java项目。
服务端:
项目结构:
1、 创建远程接口:继承Remote接口,Remote接口没有任何方法,是一个标记性接口。
package com.rmi.remote;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface RmiInterface extends Remote {
/**
* 远程调用服务方法
*@Date 2017年8月2日
* @param name
* @return
* @throws RemoteException
*/
public String doService(String name) throws RemoteException;
/**
* 远程调用sum方法
*@Date 2017年8月2日
* &#