配置远程方法调用---开发学习RMI的步骤

先熟悉RMI的步骤
服务器端:
(1)定义远程端口
(2)编写实现远程接口的类
(3)使用rmic工具(该工具在jdk里,在dos窗口操作),将上述服务器类生成存根和主干。
(4)编写一个主类,实例化服务器类,生成远程对象,并且向注册库注册该对象引用。
(5)命名注册远程对象,利用java.rmi.Naming的方法
客户端:
(1)编写客户机类,调用远程对象上的方法。利用java.rmi.Naming的方法
(2)启动注册库start rmiregistry [port]
(3)运行服务端主类,创建远程对象,并向注册库注册该对象引用
(4)运行客户机
在书的13页
一个say hello的例子:
新建文件夹testrmi
里面写四个类
(1)HelloInterface.java(远程接口)

Paste_Image.png

并且编译
(2)HelloImplementor.java(服务器类,实现远程接口)

Paste_Image.png

并且编译

(3)生成存根 rmic –v1.2 testrmi.HelloImplementor
前三步:

Paste_Image.png

(4)编写主类HelloHelper 实例化服务器类,生成远程对象,并且向注册库命名注册远程对象

Paste_Image.png

并且编译,这里不贴图片
(5)启动注册库

Paste_Image.png

然后运行HelloHelper,

Paste_Image.png

这里出错,看英文注释,不要老想谷歌找答案,exportException:port already in use:1099,意思就是1099这个端口被占用,不能用了
所以我们另开一个dos,输入命令:netstat -ano|findstr "1099",找到这个端口,记住PID,这里是9908

Paste_Image.png

查看是哪个进程或者程序占用了1099端口
tasklist|findstr "9908"

Paste_Image.png

发现是刚刚start rmiregistry的引发的程序,我们把它结束
这样就可以了,

Paste_Image.png

(5)写客户端类

Paste_Image.png

编译

Paste_Image.png

再运行客户端类

Paste_Image.png

这样就完成了
ps:这里的类不能在myeclipse里写,因为文件里有包,而包得在classpath里写出该包的路径才可以运行。
最后谢谢这位
http://www.cnblogs.com/gongyu/p/3962635.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,751评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,044评论 18 399
  • 新月似弯钩,凌空挂吊楼。 暮秋寒意重,寂夜冷风幽。 犬吠闻初露,鹰啼笑晚舟, 孤身栖静处,只为解烦忧。
    2e042adf9095阅读 2,540评论 0 0
  • W:“哎呀,美女,什么事情这么开心啊?” S:“心仪的帅哥晚上请我吃饭,想想都开心!” W:“哦哦,吃什么啊?” ...
    HeSo污阅读 1,618评论 0 0