国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何寫第一個RMI程序?

littlelightss / 2720人閱讀

摘要:但是傳統(tǒng)并不能很好地應(yīng)用于分布式對象系統(tǒng)。而則支持存儲于不同地址空間的程序級對象之間彼此進行通信,實現(xiàn)遠程對象之間的無縫遠程調(diào)用。第一個例子服務(wù)端接口服務(wù)端接口實現(xiàn)創(chuàng)建服務(wù)端注冊號端口,注意這一步注冊可以注冊到別的機器上。

RPC和RMI的關(guān)系

RMI全稱是Remote Method Invocation(遠程方法調(diào)用),Java RMI威力體現(xiàn)在它強大的開發(fā)分布式網(wǎng)絡(luò)應(yīng)用的能力上,是純Java的網(wǎng)絡(luò)分布式應(yīng)用系統(tǒng)的核心解決方案之一。其實它可以被看作是RPC的Java版本。但是傳統(tǒng)RPC并不能很好地應(yīng)用于分布式對象系統(tǒng)。而Java RMI 則支持存儲于不同地址空間的程序級對象之間彼此進行通信,實現(xiàn)遠程對象之間的無縫遠程調(diào)用。

RMI第一個例子
//服務(wù)端接口
import java.rmi.Remote;
 
public interface URLDispatcher extends Remote {
    String get()throws java.rmi.RemoteException;
    void add(String webAddress)throws java.rmi.RemoteException;;
}
 
//服務(wù)端接口實現(xiàn)
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.UnicastRemoteObject;
 
public class URLManagement extends UnicastRemoteObject implements URLDispatcher {
 
    protected URLManagement() throws RemoteException {
        super();
    }
 
    public URLManagement(int port) throws RemoteException {
        super(port);
    }
 
    @Override
    public String get() throws RemoteException {
        System.out.println("www.baidu.com");
        return "www.baidu.com";
    }
 
    @Override
    public void add(String webAddress) throws RemoteException {}
 
    public static void main(String[] args) {
        try {
            //創(chuàng)建服務(wù)端
            URLDispatcher hello = new URLManagement(1098);
            //注冊1098號端口,注意這一步注冊可以注冊到別的機器上。
            LocateRegistry.createRegistry(1098);
            //綁定服務(wù)端到指定的地址,這里的localhost對應(yīng)的上一步注冊端口號的機器
            java.rmi.Naming.rebind("rmi://localhost:1098/URLDispatcher", hello);
            System.out.println("Ready");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
//客戶端
import java.rmi.Naming;
 
public class Main {
    public static void main(String[] args){
        try {
            //客戶端查找指定的服務(wù)
            URLDispatcher hello = (URLDispatcher)Naming.lookup("rmi://localhost:1099/URLDispatcher");
            //打印的結(jié)果應(yīng)該是www.baidu.com
            System.out.println(hello.get());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意:服務(wù)端啟動后不會自動關(guān)閉,會一直等待客戶端連接。

參考資料:

RMI學(xué)習(xí)以及深入講解
Java RMI 入門指南
Java RMI 服務(wù)器框架
Spring與RMI集成實現(xiàn)遠程訪問
更多文章:http://blog.gavinzh.com

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/65609.html

相關(guān)文章

  • 寫第一個Python程序

    摘要:關(guān)于中文為了處理漢字,程序員設(shè)計了用于簡體中文的和用于繁體中文的。年一共收錄了個字符,包括個漢字和個其它符號。年的是取代的正式國家標準。區(qū)分中文編碼的方法是高字節(jié)的最高位不為。 Python 2和 Python3的區(qū)別 3.0有Unicode support ,這代表著可以直接默認寫中文,2是不行的 有一些庫改名了,但表面上變化不大,都是些大寫變小寫,下劃線沒了之類的 Twisted...

    ISherry 評論0 收藏0
  • 我要學(xué)好分布式-RMI通信框架

    摘要:我要學(xué)好分布式通信框架技術(shù)我要學(xué)好分布式分布式框架是最近幾年的熱門。先寫個測試用的遠程接口,注意接口要拋異常實現(xiàn)遠程接口,并且繼承創(chuàng)建服務(wù)器程序方法注冊遠程對象創(chuàng)建客戶端程序調(diào)用過程流程去注冊中心注冊,端啟動服務(wù)。 title: 我要學(xué)好分布式-RMI通信框架date: 2018-07-26 19:28:30 tags: [技術(shù),我要學(xué)好分布式] 分布式框架是最近幾年的熱門。可是要想...

    imingyu 評論0 收藏0
  • RPC框架是啥之Java自帶RPC實現(xiàn),RMI框架入門

    摘要:讓我們優(yōu)先來實現(xiàn)一個的案例吧。為了防止被防火墻攔截,需要強制制定的通信端口,一般通過自定義一個類來實現(xiàn)。完美支持語言所獨有的特性,不支持其他語言。使用了原生序列化,所有序列化對象必須實現(xiàn)接口。 本博客 貓叔的博客,轉(zhuǎn)載請申明出處 學(xué)習(xí)系列 RPC框架是啥? Java自帶RPC實現(xiàn),RMI框架入門 首先RMI(Remote Method Invocation)是Java特有的一種RPC實...

    ZHAO_ 評論0 收藏0
  • 獲取遠程服務(wù)器上 Java 進程的運行狀態(tài)

    摘要:為了安全考慮有些服務(wù)器會被限制登錄本文介紹如何獲取遠程服務(wù)器上進程的運行狀態(tài)啟動服務(wù)在服務(wù)器端啟動服務(wù)后遠程的機器可以通過協(xié)議獲取服務(wù)器上程序的運行狀態(tài)在服務(wù)器上創(chuàng)建的授權(quán)文件假設(shè)文件路徑為內(nèi)容如下如果你的目錄不是的話請改為正確的值接下來通 為了安全考慮, 有些服務(wù)器會被限制登錄. 本文介紹如何獲取遠程服務(wù)器上 Java 進程的運行狀態(tài). 啟動 jstatd 服務(wù) 在服務(wù)器端啟動 ...

    cartoon 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<