Hallo Zusammen,
ich versuche ein "Library" zu programmieren, den ich später in einem anderen Projekt einbinden möchte. Dabei implementiere ich den SipListener von JMF, der u.A. "processRequest(RequestEvent re)" und "processResponse(ResponseEvent re)" zu implementieren hat.
Ich schreibe nun eine weitere Methode, die die Anfragen an den Server schick und jenachdem (anhand den Ergebnissen vom Server) Rückgabewerte liefern soll!
Mein Problem dabei ist: die Antwort kommt an die Methode "processResponse()", ich bin aber dann in der Methode "MyClass sendRequest(..)".
Wie sollen diese beiden denn kommunizieren ? Wie gehe ich das um ? Gibt es Muster die hier verwendet werden können?
Weiteres Problem wegen Wartezeiten bis Response kommt, wenn ich mit Threads arbeite und die SendeMethode als Thread aufrufe, gibt es eine Möglichkeit das Ergebnis davon in das Mainprogramm zu bekommen ?
Ich habe derzeit eine Lösung:
eigene Interface (implementiert vom Aufrufer), um den eigentlichen Rückgabewert von sendRequest() manuell dem Aufrufer zu übergeben. Dabei liefert natürlich sendRequest() nichts oder wartet bis sich der Zustand geändert hat (Problem mit evetl. längeren Wartezeiten). Den Response speichere ich dann auch Global in einer Variable, so dass ich diese später von anderen Methoden verwenden kann.
Ist das so üblich? Wie ist es am geschicktesten ?
Ich hoffe das Problem verständlich beschrieben zu haben.
Gruß
Taner
ich versuche ein "Library" zu programmieren, den ich später in einem anderen Projekt einbinden möchte. Dabei implementiere ich den SipListener von JMF, der u.A. "processRequest(RequestEvent re)" und "processResponse(ResponseEvent re)" zu implementieren hat.
Ich schreibe nun eine weitere Methode, die die Anfragen an den Server schick und jenachdem (anhand den Ergebnissen vom Server) Rückgabewerte liefern soll!
Mein Problem dabei ist: die Antwort kommt an die Methode "processResponse()", ich bin aber dann in der Methode "MyClass sendRequest(..)".
Wie sollen diese beiden denn kommunizieren ? Wie gehe ich das um ? Gibt es Muster die hier verwendet werden können?
Weiteres Problem wegen Wartezeiten bis Response kommt, wenn ich mit Threads arbeite und die SendeMethode als Thread aufrufe, gibt es eine Möglichkeit das Ergebnis davon in das Mainprogramm zu bekommen ?
Ich habe derzeit eine Lösung:
eigene Interface (implementiert vom Aufrufer), um den eigentlichen Rückgabewert von sendRequest() manuell dem Aufrufer zu übergeben. Dabei liefert natürlich sendRequest() nichts oder wartet bis sich der Zustand geändert hat (Problem mit evetl. längeren Wartezeiten). Den Response speichere ich dann auch Global in einer Variable, so dass ich diese später von anderen Methoden verwenden kann.
Ist das so üblich? Wie ist es am geschicktesten ?
Ich hoffe das Problem verständlich beschrieben zu haben.
Gruß
Taner
Zuletzt bearbeitet: