2013-11-02 2 views
0

내 코드에 큰 문제가 있습니다. 아래의 코드에RMI 프로그램 리 바인드 오류

java.rmi.ConnectException: Connection refused to host: 5.12.78.59; nested exception is: 
    java.net.ConnectException: Connection refused: connect 
    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:340) 
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) 
    at java.rmi.Naming.rebind(Naming.java:177) 
    at Server.main(Server.java:9) 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at java.net.Socket.<init>(Socket.java:425) 
    at java.net.Socket.<init>(Socket.java:208) 
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) 
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146) 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) 
    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:340) 
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) 
    at java.rmi.Naming.rebind(Naming.java:177) 
    at Server.main(Server.java:9) 
    at __SHELL7.run(__SHELL7.java:6) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at bluej.runtime.ExecServer$3.run(ExecServer.java:725) 

: :이 얻을 내가 그것을 모두 무너지게 Naming.rebind 않는 경우

public class Server { 
    public static void main(String[] args) throws Exception { 

    Generator Ob = new Generator(); 
    System.out.println("1"); 
    Naming.rebind("rmi:///Ob",Ob); 

    System.out.println("Serverul s-a legat la" + 
         " registrul RMI"); 
    } 
} 

발전기가 제대로 아직 정의, 왜? 도와 줘서 고마워.

+0

'RMI' 레지스트리를 초기화 했습니까? –

+0

네, 그랬어 cmd를 rmiregistry, 그리고 자바 서버와 나는 그 오류가있어 : P는. 이 말은 너가 나에게 말하려고했거나 내가 총 바보 야? –

답변

0

리 바인드를 수행 할 때 레지스트리가 실행되고 있지 않습니다. 위의 귀하의 의견에서 그것이 무엇을 말하고 있는지 알지만 증거는 틀림 없습니다.

+0

그러면 레지스트리를 시작하려면 다음을 수행하십시오. CMD를 열고 D : \ java \ bin 레지스트리 1111을 시작한 다음 서버를 엽니 다. 나 지금 이러고있어? –

+0

'start registry 1111'은 RMI 레지스트리를 시작하지 않습니다. 그것은'registry'라는 다른 프로그램을 시작합니다.이 프로그램은 존재하지 않을 수도 있습니다. 'start rmiregistry'1111으로 수정하면 포트 1111에서 청취하는 레지스트리를 시작하는데, 이것은 Naming.bind()에 의해 가정 된 기본값이 아니므로 여전히 응용 프로그램이 작동하지 않습니다. 'start rmiregistry'를 시도하십시오. – EJP

+0

글쎄 지금 나는 얻는다 : –