проблема переподключения Java Java RMI - PullRequest
0 голосов
/ 28 апреля 2011

Я пытаюсь разработать простую серверную / клиентскую программу usrin java rmi.пока все работает нормально, но единственная проблема в том, что когда клиент выходит и пытается восстановить соединение, я получаю следующее исключение:

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.ConnectException: Connection refused to host: 192.168.x.y; nested exception is: 
    java.net.ConnectException: Connection refused: connect

почему сервер отказывает в соединении во второй раз?

вот мой код

сервер:

public static void main(String[] args) {
    try {

        Naming.rebind("ChatServer", new ChatServerImpl());

        Naming.rebind("NotificationSource",  nsource);

        System.out.println("Chat Server is up and runnning!");

    } catch (Exception e) {
        System.err.println("Problem!!!!");
        e.printStackTrace();
    }
}

, "Сервер чата" и "nsource" (который nsource является статическим) являются объектами UnicastRemoteObject, которые расширяют "Удаленные" Intefaces.("ChatServer" и "NotificationInterface").

client

public static void main(String[] args) {

    String url_ChatServer = "rmi://localhost/ChatServer";
    String url_NotificationSource = "rmi://localhost/NotificationSource";

    try {

        ChatServer cs = (ChatServer) Naming.lookup(url_ChatServer);

        NotificationSourceInterface ns = (NotificationSourceInterface) Naming.lookup(url_NotificationSource);

        new Thread(new ChatClientImpl(cs,ns)).start();

    } catch (Exception e) {
        System.err.println("Problem ~Client");
        e.printStackTrace();
    }
}

Я не использую rmic, так как он больше не требуется (начиная с Java 1.5)

thx

1 Ответ

1 голос
/ 29 апреля 2011

Если вы получаете это при поиске, реестр не работает. Если вы получили вызов удаленного метода, его JVM вышла.

...