Einzelnen Beitrag anzeigen

Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
379 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: WebServices - Discovery: Hello, Probe, Bye ......

  Alt 7. Feb 2016, 11:26
... die Details - wo fange ich mal an ?

Vorweg gesagt: Es geht offensichtlich auf 2 Wegen - sowohl via WS-Discovery PROBE und auch einem anscheinend internem Protokoll/Kommando !

Nachdem ich mir nach den (zunächst) erfolglosen Versuchen mal den Datenverkehr mit dem Kabel-Hai angesehen habe, was denn da alles so vom ChinaMan-DeviceManager gesendet wird, war zunächst folgendes festzustellen:

Es geht abweichend zu WS-Discovery ein Broadcast an 255.255.255.255 : 34569 mit 20 Byte Daten raus, von nur 3 Byte > 0 sind.
Die Kamera(s) antworten alle innerhalb 1/2 Sekunde an die absendende IP an den Port, der beim Senden mitgegeben wurde und schicken dazu etwa 450-500 Byte mit.
Diese Daten sind fast selbsterklärend und bestehen immer aus "Variable":"Wert und Komma. Recht einfach, das auszuwerten.

Das wird hier offensichtlich genauso gehandelt wie bei WS-Discovery. Entspricht genau dem Satz aus der Spezifikation, wie ich es 2 Postings zuvor geschrieben gabe.
Das war nämlich mein Fehler bei der Anfrage via ONVIF - ich hab schlicht vergessen dem UDP-Server den richtigen Port zu sagen .... der hat dann in's leere gehorcht.


Vorhin hab ich noch ein bischen rumgesnifft, um zu sehen, was denn der ONVIF-Manager (sourceforge.net) so alles von sich gibt und auch zurückbekommt.
Siehe da: alle Kameras antworten ebenfalls artig mit einem ProbeMatch zurück !

Und nochmal siehe da: Nimmt man einer Kamera mal kurz den Saft, meldet diese sich nach ca. 10-15 sek. Initialisierung mit einem freundlich WS-Discovery HELLO !
Demzufolge müsste auch ein BYE drin sein - sofern ein entsprechenden Befehl zum "schlafengehen" exisiert.


Fazit bis hierher:
Nachdem ich mir Tage mit diesem WSDL-Kram um die Ohren gehauen habe, ist es doch erstaunlich festzustellen, mit wie wenig Zeilen Code + entsprechenden XML-Befehlssätzen sich eine Kommunikation erstellen lässt. Hab ich selber nicht dran geglaubt ...

Und wenn man zwischen <d:Types>dn: xxxxxx </d:Types>' etwas anderes als NetworkVideoTransmitter angibt, lassen sich sicherlich auch andere, diesen Service unterstützende Geräte im LAN finden.

Ich werde derweil ein wenig weitertippen, damit ein brauchbares Tool draus wird und lasse es euch bei zeiten zukommen.
Zwischenzeitlich kommen sicherlich noch etliche Fragen auf ...
  Mit Zitat antworten Zitat