我正在尝试使用rmi。下面的代码是我用它来绑定的代码。
@Override
public void init(String serviceName) throws RemoteException {
/*if(System.getSecurityManager() == null){
System.setSecurityManager(new RMISecurityManager());
}*/
try {
String host = InetAddress.getLocalHost().getHostName();
String url = "rmi://"+ host + "/"+ serviceName;
//String url = "//localhost/" + serviceName;
Naming.rebind(url,this);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
无论我使用哪个url,我都会得到下面的异常。它永远找不到需要指挥的班级。有人能帮我解决这个问题吗?提前谢谢。
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: ceng443.hw3.base.SocialNetworkServer
为了使用RMI下载任何代码,您需要一个securitymanager,但是您在发布的片段中注释了它。你能试着取消注释你的安全管理器设置吗?