0
この質問は以前に尋ねられていますが、これまでに見つかった回答は役に立ちませんでした。私はラインRMI:ホストへの接続が拒否されました -/etc/hostsを編集してsetProperty()が動作しない
127.0.0.1 java.rmi.server.hostname
次を追加することによって、私の/ etc/hostsファイルを編集してみました、私は(も私の「外部」IPアドレスで試してみました)私のコードに
System.setProperty("java.rmi.server.hostname","127.0.0.1");
を追加してみました。しかし、私はこのエラーを取得しておいてください。ここでは
java.rmi.ConnectException: Connection refused to host: 192.168.178.22; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:177)
は私のサーバーのコードは次のとおりです。
public class CounterServer {
public static void main(String args[]) {
try {
System.setProperty("java.rmi.server.hostname","192.168.178.22");
LocateRegistry.createRegistry(4711);
ICounter counter = new Counter();
Naming.rebind("Counter", counter);
} catch (RemoteException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
私は、これは固定得ることができる方法任意のアイデア?私はMac OSX上で動作しています!
少なくとも、レジストリの作成時に行ったのと同じポートを 'Naming.rebind()'で使用してください。 'Registry'変数を静的にして、すべてがガベージコレクションされないようにする必要があります。 – EJP