Hi,
1.
also erstmal noch eine verständnisfrage zu rmi: wenn ich den rmi server auf einen fremd rechner laufen habe und den client auf einem anderen rechner und dann z.b.
ausführen möchte findet er die klasse Adder logischerweise nicht. muss ich da das interface welches auf dem server liegt auch auf dem client implementieren?
2.
wenn ich das interface vom server in den client implementiere (wo ich mir nicht ganz sicher bin ob das richtig ist?!) und
ausführe bekomme ich folgende fehler:
Connection refused to host: 192.168.1.4; nested exception is:
java.net.ConnectException: Connection timed out: 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.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy0.add(Unknown Source)
at Client.main(Client.java:16)
Caused by: java.net.ConnectException: Connection timed out: 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.SocksSocketImpl.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 Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
... 8 more
jedoch ist der server erreichbar weil
funktioniert und mir Adder zurück gibt.
vielen dank schon mal im vorraus
1.
also erstmal noch eine verständnisfrage zu rmi: wenn ich den rmi server auf einen fremd rechner laufen habe und den client auf einem anderen rechner und dann z.b.
Java:
Adder adder = (Adder) registry.lookup( "Adder" );
2.
wenn ich das interface vom server in den client implementiere (wo ich mir nicht ganz sicher bin ob das richtig ist?!) und
Java:
Adder adder = (Adder) registry.lookup( "Adder" );
System.out.println( adder.add( 47, 11 ) );
Connection refused to host: 192.168.1.4; nested exception is:
java.net.ConnectException: Connection timed out: 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.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy0.add(Unknown Source)
at Client.main(Client.java:16)
Caused by: java.net.ConnectException: Connection timed out: 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.SocksSocketImpl.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 Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
... 8 more
jedoch ist der server erreichbar weil
Java:
String[] test = registry.list();
System.out.println(test[0]);
vielen dank schon mal im vorraus