java rmi伺服器端用戶端傳輸資料執行個體教程,rmi執行個體教程

來源:互聯網
上載者:User

java rmi伺服器端用戶端傳輸資料執行個體教程,rmi執行個體教程

原文:java rmi伺服器端用戶端傳輸資料執行個體教程 java代碼:http://www.zuidaima.com/share/1550463269620736.htm

java rmi伺服器端用戶端傳輸資料執行個體教程

package com.zuidaima.rmi;import java.rmi.*;/***@author www.zuidaima.com**/public class ZuidaimaClient {    public static void main(String[] args) {        //    在伺服器端設定安全機制                 /*            if (System.getSecurityManager() == null) {                System.setSecurityManager(new RMISecurityManager());             }         */              /* 預設為本地主機和預設連接埠 */        String host = "www.zuidaima.com:1199";        /* 帶輸入參數時,將host設定為指定主機 */        if (args.length > 0)             host = args[0];        try {            /* 根據指定的URL定位遠程實現對象 */            /* “h”是一個標識符,我們將用它指向實現“Hello”介面的遠程對象 */System.out.println(host+"****");             Hello h = (Hello) Naming.lookup("rmi://" + host + "/HelloServer");                         System.out.println("實現“Hello”介面的遠程對象: " + h);            System.out.println("我在用戶端,開始調用RMI伺服器端的'sayHello'方法");            System.out.println("歡迎,   " + h.sayHello("www.zuidaima.com"));         } catch (Exception ex) {            System.out.println("錯誤 " + ex);         }     }}    

 


標籤: RMI java 傳輸 教程話題: 網路編程 入門教程



RMI 怎實現同步資料傳遞

RMI,遠程方法調用(Remote Method Invocation)是Enterprise JavaBeans的支柱,是建立分布式Java應用程式的方便途徑。RMI是非常容易使用的,但是它非常的強大。

RMI的基礎是介面,RMI構架基於一個重要的原理:定義介面和定義介面的具體實現是分開的。下面我們通過具體的例子,建立一個簡單的遠程計算服務和使用它的客戶程式

一個正常工作的RMI系統由下面幾個部分組成:

● 遠程服務的介面定義

● 遠程服務介面的具體實現

● 樁(Stub)和架構(Skeleton)檔案

● 一個運行遠程服務的伺服器

● 一個RMI命名服務,它允許用戶端去發現這個遠程服務

● 類檔案的提供者(一個HTTP或者FTP伺服器)

● 一個需要這個遠程服務的用戶端程式

下面我們一步一步建立一個簡單的RMI系統。首先在你的機器裡建立一個新的檔案夾,以便放置我們建立的檔案,為了簡單起見,我們只使用一個檔案夾存放用戶端和服務端代碼,並且在同一個目錄下運行服務端和用戶端。

如果所有的RMI檔案都已經設計好了,那麼你需要下面的幾個步驟去產生你的系統:

1、 編寫並且編譯介面的Java代碼

2、 編寫並且編譯介面實現的Java代碼

3、 從介面實作類別中產生樁(Stub)和架構(Skeleton)類檔案

4、 編寫遠程服務的主運行程式

5、 編寫RMI的用戶端程式

6、 安裝並且運行RMI系統

1、 介面

第一步就是建立和編譯服務介面的Java代碼。這個介面定義了所有的提供遠程服務的功能,下面是來源程式:

//Calculator.java
//define the interface
import java.rmi.Remote;

public interface Calculator extends Remote
{
public long add(long a, long b)
throws java.rmi.RemoteException;

public long sub(long a, long b)
throws java.rmi.RemoteException;

public long mul(long a, long b)
throws java.rmi.RemoteException;

public long div(long a, long b)
throws java.rmi.RemoteException;
}
注意,這個介面繼承自Remote,每一個定義的方法都必須拋出一個RemoteException異常對象。

建立這個檔案,把它存放在剛才的目錄下,並且編譯。

>javac Calculator.java

2、 介面的具體實現

下一步,我們就要寫遠程服務的具體實現,這是一個CalculatorImpl類檔案:

//CalculatorImpl.java
//Implementation
import java.rmi.server.UnicastRemoteObject

public class CalculatorImpl extends UnicastRemoteObject implements......餘下全文>>
 
java 怎實現伺服器與客服端資料的傳遞

如果你學過網路基礎的話,應該知道現在流行的tcp/ip協議,Java支援的是網路層或ip層以上的操作。
有很多種傳遞的方法,Java SE裡面就有RMI方式,或Socket方式(分tcp和udp兩種)。這些都屬於C/S的方式。
另外Java EE裡面以B/S方式主要是用用戶端向伺服器端的servlet/jsp發起請求實現的,其底層用的是http協議,一種應用程式層的協議。
其實,應用程式層的其他協議,如ftp, telnet, 甚至webservice,都可以用Java來實現,根據你的需要選擇。一般學習Java基礎的時候都是從socket編程,開發tcp或udp的通訊程式的,其他的方式基本是在此方式基礎上擴充更適合對應的領域了。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.