gpt4 book ai didi

java rmi重新连接客户端问题

转载 作者:行者123 更新时间:2023-12-01 15:52:05 25 4
gpt4 key购买 nike

我正在尝试使用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 是静态的)是扩展“远程”接口(interface)的 UnicastRemoteObject 对象。 (“ChatServer”和“NotificationInterface”)。

客户端

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 开始)

谢谢

最佳答案

如果您在查找时看到该信息,则注册表已关闭。如果你让它调用远程方法,那么它的 JVM 已经退出。

关于java rmi重新连接客户端问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com