problem mit synapse im thread
27. Apr 2009, 13:29
Hallo,
ich beschäftige mich gerade mit einer Anwendung bei der die synapse blocking objects zum Einsatz kommen. Die entsprechenden synapse-Aufrufe sind in der Execute-Methode eines threads eingebunden.
Der Ablauf ist wie folgt:
1. open connection
2. sende packet zu einem Server (SendBuffer)
3. hole entsprechende antwort (RecvBuffer)
4. am schluss erfolgt dann noch ein weiterer Aufruf von RecvBuffer, in dem der Thread verharren soll, um evtl. ankommende alerts vom server entgegennehmen zu können.
Das Problem ist hier nun folgendes: Wenn erneut ein packet zum Server geschickt werden soll, muss der RecvBuffer-Aufruf unter 4. irgendwie mittels PostMessage oder so gecancelt werden können um dann direkt mit 2. fortfahren zu können.
Eine Polling-Schleife mit Timeout oder CanRead-Check ist für 4. nicht sinnvoll, weil die Latenz dann ansteigt (der Timeout-Wert wird ja abgewartet)
Hat da jemand eine Idee dazu ?
Vielen Dank schonmal.
|