IPS 4.2 auf Pi: Versenden von Messages via Client Socket

Hallo zusammen,

ich glaube, ich bin über einen Bug gestolpert.

Beim Versenden von Netzwerkmeldungen über den Clientsocket an eine Mobotix M12 schlägt fehl.

  • Client Socket eingerichtet, Mobotix konfiguriert
  • String mittels CSCK_SendText an Client Socket gesendet
  • Meldung kommt nicht an

Deaktiviere ich den Socket wird die Meldung in dem Moment, in dem auf „Übernehmen“ gedrückt wird, abgeschickt und angezeigt.

Dieses Verhalten ist reproduzierbar!

Auch werden die Texte in der Kamera „kumuliert“ angezeigt. Will sagen: jede neue Meldung wird an die vorhergehend versandte Meldung in der Kamera angehängt.

Gesendet: 1234 Angezeigt: 1234
Gesendet: Test Angezeigt: 1234Test
Gesendet: 5678 Angezeigt: 1234Test5678

Ob Letzteres ein Bug oder ein Feature der Kamera ist, kann ich nicht sagen…

Gruss aus EU,

Jörg

Vermutlich hätte die Mobotix gern ein Endekennzeichen, also z.B. <ETX> oder <LF> oder … um zu erkennen, dass die Sendung komplett ist.

Was sagt denn die Mobotix-Doku zu der gewünschten Kommunikation?

Das wird an der Kamera liegen und nicht an IPS.
Die Kamera verarbeitet die Daten wohl erst wenn die Verbindung getrennt wird.
Das erklärt auch das Verhalten mit dem empfangenen und anhängenden Daten.
Hast du den im Debug des ClientSocket geprüft ob IPS die Daten versendet?

Wenn es wirklich ein Bug in IPS wäre, würde vermutlich kein IPS da draussen noch funktionieren, da der ClientSocket ja so fast der wichtigste IO ist.
Michael

Danke für die prompte Antwort.

@ralf
Darüber schweigt sich die Doku aus…

@Nall-chan
Laut Debugfenster werden die Daten als versendet angezeigt. Und was die Funktionsfähigkeit anderer IPS-Installationen bei einem Bug in der Socketimplementation anbelangt: gutes Argument…

In den CPP Beispielen auf developer.mobotix.com wird immer mit „endl“ gearbeitet.

Also wird vermutlich .CHR(10) oder .CHR(13) am Ende helfen, damit die Kamera die Sendung annimmt.

@Ralf
Ich habe es nun so gelöst, dass ich den Socket schliesse und einfach bei Bedarf öffne, die Meldung sende und dann wieder schliesse.
Und danke. .CHR(10) hat das Anhängen der Meldungen gelöst…!