Einzelnen Beitrag anzeigen

generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#11

Re: UDP Empfangen / ArtNet / ArtDMX

  Alt 23. Nov 2007, 20:25
Ok, ich hab mir das Protokoll angeschaut.

Auf Seite 19 findest du eine Paketbeschreibung für dein Paket welches du brauchst.
Ich würde ein packed Record definieren der der Spezifikation entspricht. Diesen kann du dann Blockweise einlesen.
Der Trick ist an der Stelle Length. Anschliessend werden dann die Daten übertragen.

Delphi-Quellcode:
  artdmx_header = packed record
    ID: String[8]; // Art-Net #0
    OpCode: word;
    ProtVerH,
    ProtVer: Byte;
    Sequence: Byte;
    Physical: Byte;
    Universe: Word;
    case laenge: boolean of
      true: (
         Lengthhi,
         lengthlow: byte;
       );
      false: ( Length: word );
  end;
Den vollen Record vom Interface Lesen und dann noch in length Anzahl von Bytes weiterlesen.
Dort stehen dann die Kanalwerte. Also nach dem Record bis Anzahl.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat