Zitat von cham:
Was hast Du eigentlich mit der IP vor?
Also ich habe ja schon ein paar andere Male wegen Sachen hier gepostet, es ging aber im Prinzip immer um dasselbe..
Ich will einen Chat programmieren. Dieser besteht aus einem Servlet, das auf einem Server läuft und RMI-Verbindungen von Applets entgegen nimmt. Dabei ruft z.B. der Server auch Methoden von den Applets auf, z.B. wenn eine neue Nachricht da ist. Das hat den Vorteil, dass das Applet nicht immer z.B. über HTTP anfragen muss ob eine neue Nachricht da ist. Nun ist das Problem, dass es so scheint als würde der Router von jemandem die Anforderung vom Server, eine Methode vom Applet aufzurufen verwerfen..(Ich kann es nicht testen ob es ohne Router geht, da ich niemanden kenne der keinen hat).
Deshalb wollte ich die Verbindung nun über Sockets machen, zumindest wenn ein Router vorhanden ist. Allerdings habe ich das nun mit jemand anders (jemand mit Router) getestet, aber das geht auch irgendwie nicht....
edit:
Ah ich hab grad gesehen warum das mit RMI nicht geht in der Log vom Server steht folgendes:
/-----------------------------------------------------------------
java.rmi.ConnectException: Connection refused to host: 192.168.0.6; nested exception is:
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:567)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:101)
at chatgame.ChatApplet_Stub.setNextMessage(ChatApplet_Stub.java:107)
at chatgame.ChatServlet.testForRouter(ChatServlet.java:222)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)
... 16 more
/------------------------------------------------------------------------------------------------------
Wobei die erwähnte IP (192....) die lokale
Ip von meiner "Testperson" ist...