我寫了一個RMI客戶機/服務器程序在服務器簡單地從文件中讀取性能,並給它的客戶。服務器和客戶端程序都駐留在我的機器上。服務器示例代碼公網IP連接在RMI
public class DirectoryStructure {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
System.setProperty("java.rmi.server.hostname", "local ip");
System.setSecurityManager(new RMISecurityManager());
DirectoryOperations directoryOperations;
try {
directoryOperations = new DirectoryOperations();
Naming.rebind("rmi://local ip/ABC", directoryOperations);
directoryOperations.addAddess("name",
"addeess");
System.out.println("Directory Server is ready.");
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
正如你可以重新綁定方法看,當我把我的本地IP我能夠開始successfully.When我與我的機器的公共IP替換這個本地IP服務器我不能夠連接我得到java.net.ConnectException: Connection refused: connect
。任何人都可以建議如何啓動服務器使用公共IP?