我有一个使用 Java RMI 的服务器和客户端。如果我使用一个客户端,下面的代码一切正常。但是,如果我先连接一个客户端,然后再连接第二个客户端,则会引发端口已在使用异常。没关系,所以我断开连接的客户端,然后再次尝试与第二个客户端连接。它给了我这个:
java.rmi.NoSuchObjectException:表中没有这样的对象
为什么是这样?
//CONNECT
Registry registry = LocateRegistry.getRegistry(
Options.getRegistryIp(), Options.getRegistryPort());
server = (IServer) registry.lookup(Constants.MB_SERVER_NAME);
UnicastRemoteObject.exportObject(client, Options.getMyPort());
server.registerClient(client);
//DISCONNECT
server.removeClient(client, client.getUser());
UnicastRemoteObject.unexportObject(client, false);