HTTP-Client lässt sich nicht als Schnittstelle für einen CUTTER auswählen

Wer hat schon mal erfolgreich eine CUTTER-Instanz hinter einen HTTP-Client gehängt? In den Einstellungen des HTTP-Clients steht

Verändern Sie diese Optionen nur, wenn Sie die Instanz im Zusammenhang mit Cutter oder TextParser Instanzen nutzen.

Daraus schließe ich, dass es eigentlich gehen sollte. Wenn ich aber beim Cutter die Schnittstelle ändern möchte, wird mir der HTTP-Client nicht angezeigt. Was muss ich tun?

Grüße
Jürgen

Geht bei mir auch nicht.
TextParser geht.
TextParser an Cutter geht auch, aber dann geht es nicht weiter an den HTTP Client.
Bug in der 6.4?
Michael

ok, dann habe ich schonmal nichts falsch gemacht.

@paresy, kannst du dir das mal angucken?

Danke
Jürgen

Hm - Was wäre denn der Use-Case dafür? Eigentlich ist der Cutter nur für „Streams“ sinnvoll. HTTP Client hat ja feste Pakete, sodass du nur der TextParser dort so richtig sinn macht.

Ich glaube die Meldung sollte „Register Variable“ anstatt „Cutter“ nennen. Und wir sollten den JSON Dekoder mit angeben. Der ist ja auch Kompatibel.

paresy

Das hier ist der Anwendungsfall. Die SML-Daten werden per HTTP-Client vom Zähler abgefragt. Die erhaltenen Daten sind feinstes SML. Wenn man den Cutter, direkt an den HTTP-Client hängen könnte, dann wäre der SML-Counter ohne Änderungen im Modul auch für diesen Zähler einsetzbar.

Aber ich gebe dir Recht. Ein Cutter ist dafür nicht unbedingt erforderlich, da die Antwort voraussichtlich immer vollständig ist. Das war ein Gedankenfehler bei mir.
Grüße
Jürgen

Warum nutzt du eigentlich überhaupt den Cutter in deinem Modul? Ich hatte das mal letztens ausprobiert und fand die Einrichtung sehr komplex durch den Cutter. Ohne könnte man direkt im Modul auswählen was man haben will und es wäre fertig.

Oder gibt es dort so viele Daten dass es von der Performance was ausmacht?

paresy

ja, ohne Cutter gab es anfangs Beschwerden, dass die ThreadQueue komplett vom SML-Counter geflutet wurde. Das ist auch der Grund, warum ich das Modul per Filter für eine einstellbare Zeit komplett dicht mache. Das entlastet die Queue. Mein eigener Rechner ist da potent genug, das scheint aber nicht bei allen der Fall zu sein.
Grüße
Jürgen

Meistens das Gegenteil von viele Daten :smiley:
Wenn da mit 300Baud die Bits reinschleichen, werden viel mehr Aufrufe im Datenfluss mit wenigen Byte gemacht, als wenn da mit 9600 ein Satz so durchflutscht.
Eventuell müsste da der serielle IO etwas ‚langsamer‘ werden, wenn die Baudrate sinkt.
Vielleicht so, wenn z.B. 2,5 Zeichen nichts empfangen wurde, dies als ‚Ende‘ erkannt wird und dann erst in den Datenfluss läuft.
Michael

1 „Gefällt mir“