国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java RMI HelloWorld

2019-11-14 20:57:21
字體:
來源:轉載
供稿:網友
java RMI HelloWorld

Java RMI HelloWorld

?

RMI 遠程方法調用. 顧名思義就是可以像調用本地程序方法一樣調用遠程(其他JVM)的程序方法.

?

分為3個部分:

Stub:中介,代理. 封裝了遠程對象的調用,客戶端需要通過stub與server交流

RemoteServer,:遠端服務提供者.也就是RemoteObject

Client:客戶端

?

代碼示意:

?

RemoteObject, 遠程服務提供者, 我寫了一個main方法,在本地6600端口啟動這個服務,

想要啟動服務,只要run即可

package demo2;

?

import java.rmi.Naming;

import java.rmi.RemoteException;

import java.rmi.registry.LocateRegistry;

import java.rmi.server.UnicastRemoteObject;

?

publicclassRemoteEchoServerextends UnicastRemoteObject implements RemoteEcho {

?

????PRotected RemoteEchoServer() throws RemoteException {

????????super();

????}

?

????@Override

????public Object echo(Object object) throws RemoteException {

????????returnobject;

????}

?

????publicstaticvoid main(String[] args) throws Exception {

????????RemoteEchoServer server = new RemoteEchoServer();

????????LocateRegistry.createRegistry(6600);

????????Naming.rebind("rmi://127.0.0.1:6600/RemoteEchoServer", server);

????}

?

}

?

?

Stub,代理,與RemoteObject交流均需要通過它

?

package demo2;

?

import java.rmi.Remote;

import java.rmi.RemoteException;

?

publicinterfaceRemoteEchoextends Remote {

????Object echo(Object object) throws RemoteException;

}

?

對Stub的進一步封裝,即如何得到Stub對象

package demo2;

?

import java.rmi.Naming;

?

publicclass RemoteEchoFactory {

?

????publicstatic RemoteEcho getEcho() throws Exception {

????????return (RemoteEcho) Naming.lookup("rmi://127.0.0.1:6600/RemoteEchoServer");

????}

}

?

?

下面就是Client, server啟動后,就能正常跑下面這個程序

package demo2;

?

publicclass RemoteEchoClient {

????publicstaticvoid main(String[] args) throws Exception {

????????longstart = System.currentTimeMillis();

????????RemoteEcho echo = RemoteEchoFactory.getEcho();

????????System.out.println(echo.echo("kiss u"));

????????System.out.println(System.currentTimeMillis()-start);

????}

}

?

Client 通過本地的Factory得到封裝好的Stub, 他指向了RemoteObject, 然后就可以像調用本地方法一樣直接用.

?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 纳雍县| 沂水县| 金溪县| 林口县| 镇坪县| 阳信县| 嘉祥县| 黄浦区| 永顺县| 潼关县| 和静县| 内丘县| 方山县| 鄂伦春自治旗| 即墨市| 上高县| 囊谦县| 比如县| 鄱阳县| 元阳县| 东阳市| 定日县| 昌图县| 年辖:市辖区| 永登县| 辉县市| 邓州市| 布拖县| 连城县| 西盟| 西藏| 屏东市| 商洛市| 秭归县| 富阳市| 左云县| 玉林市| 乌鲁木齐县| 正阳县| 镇原县| 无为县|