?? 構(gòu)建步驟.txt
字號:
===============================================================
三層:
===============================================================
1. 樁和構(gòu)架層:是應(yīng)用程序?qū)优c系統(tǒng)其他部分的接口,生成代理類(Proxy),
使用對象序列化傳輸數(shù)據(jù),此層不處理任何特定的傳輸。樁負責(zé)與客戶端的交互,
而構(gòu)架層負責(zé)服務(wù)器,調(diào)用實際的遠程對象,將返回值序列化為流,并傳輸給客戶
2. 遠程引用層:負責(zé)為獨立于客戶樁和服務(wù)器構(gòu)架的多種形式的遠程引用和調(diào)用協(xié)議提供支持
3. 傳輸層:在不同的地址空間內(nèi)傳輸序列化的流,負責(zé)建立到遠程地址空間的連接,管理連接,
監(jiān)聽外來調(diào)用
===============================================================
編譯和運行的步驟
===============================================================
1. 使用javac編譯遠程接口類、遠程接口實現(xiàn)類、客戶機程序
2. 使用rmic編譯器聲稱實現(xiàn)類的stub和skeleton
3. 啟動RMI注冊服務(wù)程序rmiregistry
4. 啟動服務(wù)器端程序
5. 啟動客戶端程序
===============================================================
類結(jié)構(gòu)
===============================================================
(1)輔助類 Request.java(序列化操作)
|
WorkRequest.java(繼承上面的類,抽象類)
|
MyCalculation.java(繼承上面的類,進行計算和相應(yīng)的動作)
(2)服務(wù)器端 RmtServer.java(遠程接口,函數(shù)參數(shù)為WorkRequest類)
|
MyServer.java(實現(xiàn)上面的接口中的操作)
(3)客戶端 MyClient.java
===============================================================
具體的操作
===============================================================
1. prompt> rmic com.test.MyServer,編譯后生成兩個文件:MyServer_Stub.class,MyServer_Skel.class
stub是客戶端的代理,skeleton是服務(wù)器的框架
要復(fù)制RmtServer,MyServer_Stub到客戶端上(如果不是在一個機器上)
2. prompt> start rmiregistry,起動注冊程序
prompt> rmiregistry portNumber,要修改端口時使用的命令
3. 在服務(wù)器端增加一條安全策略,為文件policy.txt(放在classes目錄下)
4. prompt> java -Djava.security.policy=policy.txt com.test.MyServer
5. prompt> java com.test.MyClient host
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -