Hi Leute,
ich habe ein Problem mit der Erzeugung des ClientSockets. Ich habe ein Programm, welches Server und gleichzeitig Client ist (Server lausch und nimmt Nachrichten an, Client schreibt Nachrichten raus).
Wenn ich dieses Programm lokal laufen lasse, dann klappt auch alles, aber wenn ich ans "richtige" Netzwerk gehe, dann funktioniert es nicht mehr so gut.
Nehmen wir an, Programm 1 startet sich zuerst und soll nur auf Nachrichten von Programm 2 lauschen. Nun macht Programm 1 selbst einen ServerSocket auf und versucht mit
den Server auf der anderen Seite (der noch nicht da ist) zu erreichen. Soweit ist auch alles in Ordnung. Nur, dass das Programm auf der new Socket()-Methode steht und bestimmt 20 Sekunden nichts mehr passiert. Es scheint, als würde die Methode für eine Zeit blockieren. Das Problem ist, wenn genau in dieser blockierenden Phase das Programm 2 dazugeschaltet wird, erkannt new Socket() nicht den Server von Programm 2, der aber auf jeden Fall gestartet wird.
Beim Localhost tritt das Problem nicht auf, da die new Socket()-Methode sofort (nach vll 1 Sekunde) gleich die Exception schmeißt, die ich abfange.
Wisst ihr, woran es liegt?
Vielen Dank und Grüße,
Eric
ich habe ein Problem mit der Erzeugung des ClientSockets. Ich habe ein Programm, welches Server und gleichzeitig Client ist (Server lausch und nimmt Nachrichten an, Client schreibt Nachrichten raus).
Wenn ich dieses Programm lokal laufen lasse, dann klappt auch alles, aber wenn ich ans "richtige" Netzwerk gehe, dann funktioniert es nicht mehr so gut.
Nehmen wir an, Programm 1 startet sich zuerst und soll nur auf Nachrichten von Programm 2 lauschen. Nun macht Programm 1 selbst einen ServerSocket auf und versucht mit
Java:
clientSocket = new Socket(hostname,port);
den Server auf der anderen Seite (der noch nicht da ist) zu erreichen. Soweit ist auch alles in Ordnung. Nur, dass das Programm auf der new Socket()-Methode steht und bestimmt 20 Sekunden nichts mehr passiert. Es scheint, als würde die Methode für eine Zeit blockieren. Das Problem ist, wenn genau in dieser blockierenden Phase das Programm 2 dazugeschaltet wird, erkannt new Socket() nicht den Server von Programm 2, der aber auf jeden Fall gestartet wird.
Beim Localhost tritt das Problem nicht auf, da die new Socket()-Methode sofort (nach vll 1 Sekunde) gleich die Exception schmeißt, die ich abfange.
Wisst ihr, woran es liegt?
Vielen Dank und Grüße,
Eric