implementacja wysylania pakietu

0

Potrzebuję wysłać pakiet o takiej budowie :

4 bajty - długość pakietu (longInteger)
2 bajty - ilość poleceń (word)
2 bajty - ilość ciągów (word)
array[1..ilość poleceń] of word
array[1..ilość ciągów] of record
Len : word
array[1..Len+1] of Char
end;

funkcja wysyłająca w pakiecie ICS to :
Send(Data : Pointer ; Len : Integer) : Integer;

Oczywiście nie znam rozmiarów tych tablic, dlatego są dynamiczne.
Jak to zrobić?

Może jakoś źle myślę, ale wydaje mi się że cały pakiet to po prostu rekord, ale wtedy zamiast wartości w tablicach, przechowuje mi wskaźniki bo są to tablice dynamiczne.

Ktoś pomoże? :)

0

ICS ma fajne przykłady na pewno znajdziesz tam przykład przydatny dla Ciebie.

0

No właśnie w przykładach jest wysyłanie stringów, a ja wysyłania stringów nie potrzebuję :)

0

Może zapisz do stringa kolejne bajty danych w rekordze (co za różnica, czy zadeklarowane jako ASCII, w końcu te same bajty) i wysyłaj tą metodą? Nie jest to najlepsza metoda, ale zawsze coś. Pewnie w tym przykładzie ciąg znaków i tak jest zamieniany na bufor nieokreślonego typu, więc można tak od razu.

0

Właśnie wczoraj wpadłem na ten sam pomysł i działa. Może to rzeczywiście nie najlepszy sposób, ale cóż. Dzięki za posta.

EOT

1 użytkowników online, w tym zalogowanych: 0, gości: 1