Ja, sollte kein Problem sein.
Der Header ist so aufgebaut:
4Byte Längenangabe + 13 Byte Daten:
Delphi-Quellcode:
(** Request - Response (6 x Requests + Response)
00 00 00 0D C1 92 BD 73 2A BE 2E 47 24 F3 03 01
00 00 00 0D 2E 47 24 F3 2A BD C1 92 BD 74 03 01
00 00 00 0D C1 92 BD 74 2A BC 2E 47 24 F4 03 01
00 00 00 0D 2E 47 24 F4 2A BB C1 92 BD 75 03 01
00 00 00 0D C1 92 BD 75 2A BA 2E 47 24 F5 03 01
00 00 00 0D 2E 47 24 F5 2A B9 C1 92 BD 76 03 01
00 00 00 0D C1 92 BD 76 2A B8 2E 47 24 F6 03 01
00 00 00 0D 2E 47 24 F6 2A B7 C1 92 BD 77 03 01
00 00 00 0D C1 92 BD 77 2A B6 2E 47 24 F7 03 01
00 00 00 0D 2E 47 24 F7 2A B5 C1 92 BD 78 03 01
00 00 00 0D C1 92 BD 78 2A B4 2E 47 24 F8 03 01
00 00 00 0D 2E 47 24 F8 2A B3 C1 92 BD 79 03 01
Alle Requests sortiert
00 00 00 0D C1 92 BD 73 2A BE 2E 47 24 F3 03 01
00 00 00 0D C1 92 BD 74 2A BC 2E 47 24 F4 03 01
00 00 00 0D C1 92 BD 75 2A BA 2E 47 24 F5 03 01
00 00 00 0D C1 92 BD 76 2A B8 2E 47 24 F6 03 01
00 00 00 0D C1 92 BD 77 2A B6 2E 47 24 F7 03 01
00 00 00 0D C1 92 BD 78 2A B4 2E 47 24 F8 03 01
Alle Responses sortiert
00 00 00 0D 2E 47 24 F3 2A BD C1 92 BD 74 03 01
00 00 00 0D 2E 47 24 F4 2A BB C1 92 BD 75 03 01
00 00 00 0D 2E 47 24 F5 2A B9 C1 92 BD 76 03 01
00 00 00 0D 2E 47 24 F6 2A B7 C1 92 BD 77 03 01
00 00 00 0D 2E 47 24 F7 2A B5 C1 92 BD 78 03 01
00 00 00 0D 2E 47 24 F8 2A B3 C1 92 BD 79 03 01
**)
//--Headeraufbau
type
TDataRec = packed record
cbData : integer;
Data1 : DWORD;
Data2 : DWORD;
Data3 : DWORD;
end;
//-- Beispiel für Datenaufbereitung (Serverapplikation verwenden)
var
DataRec: TDataRec;
Buffer: array of Byte;
....
//-- Im Socket Empfangsbuffer werden die 17 Bytes abgelegt.
cbRcv := Recv(ClientSocket, Buffer[cb], 32768, 0);
//-- Daten in die record struct schreiben
move(Buffer, DataRec, SizeOf(TDataRec));
//-- NetworkByteOrder
DataRec.cbData := ntohl(DataRec.cbData);
DataRec.Data1 := ntohl(DataRec.Data1);
DataRec.Data2 := ntohl(DataRec.Data2);
DataRec.Data3 := ntohl(DataRec.Data3);
Also starte den Testserver (Port kann als Start-Parameter übergeben werden), und
Debug alles durch ob der Header so passt, und du die erwarteten Daten bekommst.
Eventuell musst du noch ein Paar Bytes offsetten, aber Du kennst ja am ehesten die Daten, die du erwartest.
Einfach mal durchprobieren wenns nicht gleich geht, gibt ja nicht viele Möglichkeiten, bei so konstanter flacher
Headerstruktur.
Guten Rutsch, ich geh jetzt FEIERN!!
lg. Astat