Java Thread

Robs

Grünschnabel
Servus

Hoffe, bin hier richtig. Falls nicht, dann bitte einfach verschieben.
Also, zu dem Problem:

Wir arbeiten gerade an einem P2P Chat-Programm. Dazu verwenden wir threads, welche für die Connections bzw das abarbeiten der Messages zuständig sind. Ein Bsp:

Code:
public class ClientThread extends Thread
{
public void run()
    { 
    	while(true)
    	{
        try
        {
            ObjectInputStream in = new ObjectInputStream(new BufferedInputStream( message_socket_.getInputStream()));
            Package new_package = (Package)in.readObject();
...
}

Jetzt haben wir gedacht, dass das run immer läuft, weil da ja ein while drinnen is. Sprich, wenn ich da jetzt ein System out reinmachn würde, dann würde er immer das in die Console schreiben... Tut er aber nicht :( . Sind schon voll verzweifelt...

Wir senden also ne Nachricht von A nach B. A soll jetzt so lange warten (while ;) ), bis B an A eine Empfangsbestätigung schickt. Jetzt besteht unser Netzwerk aber aus mehreren Peers. Daher kanns sein, dass A an F was schickt und diese Nachricht geht dann über B - C - D - E. Also nochmal. A schickt an B was und wartet auf eine Antwort von B. B schickt an C was und wartet auf eine Antwort. usw. Er wartet deswegen auf eine ANtwort, weil es sein könnte, dass ein Peer mal ausfällt. Daher haben wir ein timeout eingebaut.

Jetzt haben wir in run () und dem while (true) noch ne while schleife drinnen...
Code:
while ((response == false) && (timeout.isTimeoutReached() == false))
this.peer_.printLine("STOP1");
                    			
                    			ObjectInputStream r_in = new ObjectInputStream(new BufferedInputStream( message_socket_.getInputStream()));
                    			Package response_new_package = (Package)r_in.readObject();
                    			
                    			this.peer_.printLine("STOP3");

Aber anstelle jetzt auf ne message zu warten, is einfach aus... Er sschreibt noch STOP1 rein und das wars. Jemand ne Idee, wie wir das lösen können?

Wir danken und sind froh über jegliche Art von Hilfe
 
Zurück