Java客户端-服务器:从另一个JVM调用一个JVM中的方法

示例

共享的远程接口:

package remote;

import java.rmi.Remote;

import java.rmi.RemoteException;

public interface RemoteServer extends Remote {

    int stringToInt(String string) throws RemoteException;

}

实现共享远程接口的服务器:

package server;

import java.rmi.RemoteException;

import java.rmi.registry.LocateRegistry;

import java.rmi.registry.Registry;

import java.rmi.server.UnicastRemoteObject;

import remote.RemoteServer;

public class Server implements RemoteServer {

    @Override

    public int stringToInt(String string) throws RemoteException {

        System.out.println("Server received: \"" + string + "\"");

        return Integer.parseInt(string);

    }

    public static void main(String[] args) {

        try {

            Registry reg = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);

            Server server = new Server();

            UnicastRemoteObject.exportObject(server, Registry.REGISTRY_PORT);

            reg.rebind("ServerName", server);

        } catch (RemoteException e) {

            e.printStackTrace();

        }

    }

}

客户端(远程)调用服务器上的方法:

package client;

import java.rmi.NotBoundException;

import java.rmi.RemoteException;

import java.rmi.registry.LocateRegistry;

import java.rmi.registry.Registry;

import remote.RemoteServer;

public class Client {

    static RemoteServer server;

    public static void main(String[] args) {

        try {

            Registry reg = LocateRegistry.getRegistry();

            server = (RemoteServer) reg.lookup("ServerName");

        } catch (RemoteException | NotBoundException e) {

            e.printStackTrace();

        }

        Client client = new Client();

        client.callServer();

    }

    void callServer() {

    

        try {

            int i = server.stringToInt("120");

            System.out.println("客户收到: " + i);

        } catch (RemoteException e) {

            e.printStackTrace();

        }

    }

}

输出:

服务器收到:“ 120”
客户收到:120

以上是 Java客户端-服务器:从另一个JVM调用一个JVM中的方法 的全部内容, 来源链接: utcz.com/z/330656.html

回到顶部