📄 构建步骤.txt
字号:
===============================================================
三层:
===============================================================
1. 桩和构架层:是应用程序层与系统其他部分的接口,生成代理类(Proxy),
使用对象序列化传输数据,此层不处理任何特定的传输。桩负责与客户端的交互,
而构架层负责服务器,调用实际的远程对象,将返回值序列化为流,并传输给客户
2. 远程引用层:负责为独立于客户桩和服务器构架的多种形式的远程引用和调用协议提供支持
3. 传输层:在不同的地址空间内传输序列化的流,负责建立到远程地址空间的连接,管理连接,
监听外来调用
===============================================================
编译和运行的步骤
===============================================================
1. 使用javac编译远程接口类、远程接口实现类、客户机程序
2. 使用rmic编译器声称实现类的stub和skeleton
3. 启动RMI注册服务程序rmiregistry
4. 启动服务器端程序
5. 启动客户端程序
===============================================================
类结构
===============================================================
(1)辅助类 Request.java(序列化操作)
|
WorkRequest.java(继承上面的类,抽象类)
|
MyCalculation.java(继承上面的类,进行计算和相应的动作)
(2)服务器端 RmtServer.java(远程接口,函数参数为WorkRequest类)
|
MyServer.java(实现上面的接口中的操作)
(3)客户端 MyClient.java
===============================================================
具体的操作
===============================================================
1. prompt> rmic com.test.MyServer,编译后生成两个文件:MyServer_Stub.class,MyServer_Skel.class
stub是客户端的代理,skeleton是服务器的框架
要复制RmtServer,MyServer_Stub到客户端上(如果不是在一个机器上)
2. prompt> start rmiregistry,起动注册程序
prompt> rmiregistry portNumber,要修改端口时使用的命令
3. 在服务器端增加一条安全策略,为文件policy.txt(放在classes目录下)
4. prompt> java -Djava.security.policy=policy.txt com.test.MyServer
5. prompt> java com.test.MyClient host
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -