Recourcenschonend Zeit verbraten

Hallo, habe folgendes Szenario:

ich frage einen TCP Client ab, die Antwort kommt nach ca. 400ms. Ich muss in verschiedenen Rhytmen mehrere Abfragen, bis zu 20 hintereinander, mit CSCK_SendText() über den Client Socket senden, die entsprechende Registervariable empfängt die Antwort zur späteren Auswertung. Das Ganze funktioniert jeweils mit einem ips_sleep(400) nach dem CSCK_SendText() einwandfrei, die Verwendung des ips_sleep ist aber sicher nicht die eleganteste Art die Zeit bis zur Antwort zu verschwenden, das Pollen der Registervariable sicher auch nicht.
Alternativ wäre das Ereignis der Registervariable zu nutzen, dazu muss ich allerdings den Fortschritt der Abfragen ständig in Variablen zwischenspeichern und abfragen … auch eine Systembelastung.
==> wie löst man diese Aufgabe recourcenschonend?

Gruß, Michael

…jetzt haben das so viele gelesen und keiner antwortet …:rolleyes:

Dabei möchte ich doch nur wissen, ob es bei häufigen ips_sleeps um die 400ms nicht effizienter ist jeweils auf das Ereignis einer Registervariablen hin mit einem Lesezugriff und einem Schreizugrifff auf eine Variable zu arbeiten ?

Gruß Michael

Führe eine Variable in IPS mit welche den aktuellen Schritt (als Rhythmen) zählt.
Sende deine Daten und beende das Script.
Die Daten kommen dann nach den 400ms über die RegVar an das dort hinterlegte Script.
Dann die Antwort in Abhängigkeit der Zähler-Variable auswerten.
Die Zähler-Variable erhöhen (bei Überlauf halt auf 0) und eine neue Anfrage senden.
Michael

Genau so wollte ich es alternativ machen … hatte nur Bedenken, dass die häufigen Schreib- und Lesezugriffe das System evtl. mehr belasten als das ips-sleep ().

Gruß Michael

IPS Variablen zu lesen und beschreiben ist weniger belastend, als einen ganzen PHP-Thread quasi permanent anzuhalten.
Der ist dann 400ms für Andere Script nicht verfügbar, also ganz schlechte Idee.
Kannst ja auch einfach zyklisch alle X Sekunden die nächste Abfrage staten, anstatt nach dem Empfang von Daten eine Neue.
Ist halt die Frage ob du die Daten in so kurzen Intervallen brauchst.
Michael

Danke, genau das wollte wissen => werde also die Sleeps eliminieren.

Gruß, Michael