Auf Thema antworten

Nachdem der Thread nach einer maximalen Zeit aufgewacht ist, muss er ja schauen ob die benötigte Antwort eingetroffen ist und mit der Klasse weiter hantieren. Da stehe ich eben auf dem Schlauch.


Ich poste mal den Code... bin da noch am rumschrauben. Hoffe, dass das mit dem synchronized so stimmt, wie ich es verstanden habe ;). Die Listener-Klasse ist auch in Arbeit und wird noch umbenannt, da dort über diese auch das Senden berwerkstelligt wird.


[code=Java]

private static ArrayList<ASN1Type> inCmd;



public static String connect() {


    ...


    Listener.getInstance().sendCommand(new ATClientCreate(client.getClientId()

                .getBytes()).getTagged());


       

    synchronized( inCmd )

    {

        try {

            inCmd.wait(3000);

            // Habe gewartet, kann jetzt loslegen.

        } catch ( InterruptedException e ) {

            ....

        }


         if ( inCmd.isEmpty() || !inCmd.contains(ATClientAuthRequest.class)) { // <-- Hier die Stelle

                //TODO : Fehlermeldung schön machen

           

            result = "Failed to make the connection bla!";

            return result;

               

        } else  {

            ... nächste Nachricht ....

        }

    ...

    }

}[/code]



Oben