?? 構建步驟.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 + -