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;