Клиент Java RMI не может подключиться к серверу - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь внедрить игру TicTacToe. Для этого у меня есть удаленный интерфейс, реализация удаленного интерфейса и класс основного сервера. Для клиента у меня есть класс клиента.

Я сталкиваюсь с проблемой, когда клиент пытается подключиться к серверу через порт, указанный пользователем.

java.rmi.ConnectException: Connection refused to host: 172.20.143.65; nested exception is: 
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at ttt.Game.<init>(Game.java:18)
at ttt.Game.main(Game.java:67)

Это код на стороне сервера для приема в порт rmiregistry

public static int registryPort = 1099;

public static void main(String args[]) {

    try {
        TTT ttt = new TTT();
        System.out.println("Enter port number");
        Scanner sc = new Scanner(System.in);
        registryPort = sc.nextInt();
        //Runtime rt = Runtime.getRuntime();
        //Process pr = rt.exec("start rmiregistry " + registryPort);
        Registry reg = LocateRegistry.createRegistry(registryPort);
        reg.rebind("TTT", ttt);
        System.err.println("Server up");
        System.in.read();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Ниже приведен код на стороне клиента для подключения

   public Game() throws MalformedURLException, RemoteException, NotBoundException{
    game = (TTTService) Naming.lookup("TTT");
    keyboardSc = new Scanner(System.in);
}

Ошибка при поиске в клиентском коде. Не в состоянии понять, что не так. Он работает, когда я устанавливаю порт по умолчанию rmi 1099. Чего-то не хватает на стороне клиента?

...