Einzelnen Beitrag anzeigen

Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

IPV4 Paket Header erstellen

  Alt 19. Jun 2019, 15:47
Hallo,

ich hab mal (wieder) eine Frage. Ich bekomme über eine DLL Daten geliefert und möchte die als UDP Signal weiterleiten. Dafür muss ich für die Daten ein 20Byte großen IPv4 Header erstellen. Ich habe die Multicast Adresse und den Port, nebst einem PByteArray und dessen Länge. Hat das jemand schon mal gemacht, ansonsten fürchte ich darf ich das wohl selber erstellen.

Peter
PS: Ich glaube die CRC Prüfsumme zu erstellen wird am schwierigsten.

Delphi-Quellcode:
function checksum(ABuffer: PByteArray; ALength: Integer): Word;
var i: integer;
   w: word;
   s: word;
begin
    s := 0;
    i:=0;
    while i<ALength do
    begin
     w := ABuffer^[i] shl 8 + ABuffer^[i+1];
     s := s + w;
     inc(i,2);
    end;

    s := (s shl 16) + (s and $ffff);
    result :=(not s) and $FFFF;
end;
  Mit Zitat antworten Zitat