Windows客户端连接的Linux服务器RMI被拒绝

时间:2014-03-04 08:56:00

标签: java linux rmi

我已经尝试了所有香港专业教育学院阅读有关这个​​问题,我不修复它。因此,我将给它一个机会,其他人得到相同的错误,没有什么能解决它。我的一个朋友有一个根服务器,其他运行的网络Java应用程序。我在IPTables(1099注册表)中打开了端口。我在服务器代码中启动了注册表。我将服务器的System.property主机名地址设置为91.54.2.10和其他ipadress字段中的地址。在localhost上一切都很好,但不是在linux世界。 我已经ping了服务器:好的,我已经netstat与netstat -napt | grep 1099和端口ist侦听我的服务器出现[服务器]在端口1099上侦听,客户端尝试连接。几秒钟后,服务器会在连接超时的情况下推送异常。 我已经设置了/ etc / hosts 127.0.1.1 localhost 127.0.0.1 localhost PublicADRESS localhost

我不知道这件事是什么?!我试过一切,任何人都可以理解为什么这不起作用?

http://www.fotos-hochladen.net/view/runningserveriqa4wy61x0.png

客户端

public void generateConnection() {
System.setProperty("java.security.policy", "client.java.policy");
if (System.getSecurityManager()==null) {
    System.setSecurityManager( new RMISecurityManager() );
} else {
}
try {
    Registry registry = LocateRegistry.getRegistry(xx.xx.xx.xx, Registry.REGISTRY_PORT);
    chatserver = (CServer) Naming.lookup("rmi://"+xx.xx.xx.xx+"/server");
    CClientImpl client = new CClientImpl();
    client.setUsername(username);
    chatserver.login(client);
} catch (RemoteException | NotBoundException e) {
    e.printStackTrace();
    JOptionPane.showMessageDialog(null, "Server is not online!");
    connectbutton.setEnabled(true);
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}



public class ChatServer {

public static ChatServer instance;

public static ChatServer getInstance() {
    if(instance==null) {
        instance = new ChatServer();
    }
    return instance;
}

public void generateNetwork() {
    System.setProperty("java.security.policy", "server.policy");
    if (System.getSecurityManager()==null) {
        System.setSecurityManager( new RMISecurityManager() );
    } 
    try {
        System.setProperty("java.rmi.server.hostname", "xx.xx.xx.xx");
        Registry reg = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
        CServerImpl chatserver = CServerImpl.getInstance();
        Naming.rebind("rmi://localhost/server", chatserver);
        System.out.println("[Server] Listening on Port "+Registry.REGISTRY_PORT);
    } catch (RemoteException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
}

    public static void main(String[] args) {
    ChatServer.getInstance().generateNetwork();
}

}

0 个答案:

没有答案