• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

rmi connection refused if not 1099

 
YungSheng Chang
Ranch Hand
Posts: 44
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I believe somebody else meets this too, but I couldn't find related post.
To start rmi server programatically, I use LocateRegistry.createRegistry(portNum);
my code:
LocateRegistry.createRegistry(1099);
Hello h = new Hello("Steve");
Naming.rebind("TEST",h);
Everything works successfully for 1099(including client calling the method), however, if the port is not 1099, let's say 1098, the following exception occures at Naming.rebind.
I am using java version 1.4.2_01. Thank you for the advice!!
Exception in thread "main" java.rmi.ConnectException: Connection refused to hos
: 10.40.194.54; nested exception is:
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Unknown Source)
at Test.main(Test.java:13)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown
ource)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown
ource)
... 7 more
 
Ken Krebs
Ranch Hand
Posts: 451
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
YungSheng,
The code you show creates a new registry but uses the default registry, not the new one.
After creating the registry, you have to get a reference to it and then use it to perform the binding as in the following example:
 
Jim Yingst
Wanderer
Sheriff
Posts: 18671
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The createRegistry() method does have a return value, for precisely this purpose:
 
YungSheng Chang
Ranch Hand
Posts: 44
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, it works, thank you all.
In fact, we were taught to use network socket to write project in school. That may be quite different from you guys. Well I have to say RMI is more straightforward though.
Yap, if you ever implement the "network whiteboard" project, we may go to the same school.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic