Hallo,
ich denke, wenn du dir mal SizeOf(ENachricht) anschaust, dann müsstest du selbst merken was da schief geht. Dein Record enthält drei Zeiger auf
Ansi-Strings! Die Zeiger mögen auf der Client-Seite noch eine Bedeutung haben, auf der Server-Seite dürften sie ins Nirwana zeigen. Du kannst alles mögliche zwischen Client und Server austauschen - nur keine Zeigerwerte.
Beim Senden von Texten hast du prinzipiell zwei Möglichkeiten: Trennzeichen folgen der Nachricht oder Nachricht folgt einer Längeninformation. Das Arbeiten mit Trennzeichen sollte bei einem eigenen Protokoll nur ab der zweiten Ebene erfolgen, da sich sonst Angriffsmöglichkeiten auf den Server ergeben.
Grüße vom marabu