如何在Java中通过远程方法发送数据?
RMI 代表 **远程方法调用**。它是一种机制,允许驻留在一个系统(JVM)中的对象访问/调用在另一个 JVM 上运行的对象。
RMI 用于构建分布式应用程序;它提供 Java 程序之间的远程通信。它位于 **java.rmi** 包中。
要编写一个 RMI Java 应用程序,您需要按照以下步骤操作:
步骤1 - 定义远程接口
远程接口提供了特定远程对象的所有方法的描述。客户端通过此远程接口进行通信。因此,您需要创建一个扩展预定义接口 java.rmi.Remote 的接口。
示例
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote {
void printMsg() throws RemoteException;
}步骤 2 - 开发实现类(远程对象)
我们需要实现前面步骤中创建的远程接口。(我们可以单独编写一个实现类,或者可以直接让服务器程序实现此接口。)因此,为远程接口的所有抽象方法提供实现。
示例
public class ImplExample implements Hello {
public void printMsg() {
System.out.println("This is an example RMI program");
}
}步骤3 - 开发服务器程序
RMI 服务器程序应该实现远程接口,或者扩展实现类。在这里,我们应该创建一个远程对象并将其绑定到 **RMIregistry**。因此,开发如下所示的服务器程序:
示例
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class Server extends ImplExample {
public Server() {}
public static void main(String args[]) {
try {
ImplExample obj = new ImplExample();
Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);
Registry registry = LocateRegistry.getRegistry();
registry.bind("Hello", stub);
System.err.println("Server ready");
} catch (Exception e) {
System.err.println("Server exception: " + e.toString());
e.printStackTrace();
}
}
}步骤4 - 开发客户端程序
在其中编写一个客户端程序,获取远程对象并使用此对象调用所需的方法。
示例
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client {
private Client() {}
public static void main(String[] args) {
try {
Registry registry = LocateRegistry.getRegistry(null);
Hello stub = (Hello) registry.lookup("Hello");
stub.printMsg();
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
}
}
}步骤5 - 编译应用程序
要编译应用程序:
编译远程接口。
编译实现类。
编译服务器程序。
编译客户端程序。
步骤6 - 执行应用程序
使用以下命令启动 **rmi** 注册表。
Start rmiregistry
这将在一个单独的窗口中启动 **rmi** 注册表。
运行服务器类文件,如下所示:

运行客户端类文件,如下所示:

**验证** - 一旦您启动客户端,您将在服务器中看到以下输出。

广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP