/*!
\page PPLSocketMessage Format PPL Socket-Message

Mit der Klasse ppl6::CpplSocketMessage und den Funktionen CpplSocket::Write und 
CpplSocket::WaitForMessage lassen sich bequem Nachrichten per TCP austauschen.

Jedes Nachrichtenpaket besteht dabei aus einem Header und den Nutzdaten.

\par Aufbau des Headers Version 1
Version 1 besteht aus einem 20 Byte langem Header mit folgendem Aufbau:
\code
Byte 0:  "V"                             (1 Byte)
Byte 1:  Version=1                       (1 Byte)
Byte 2:  CommandId                       (2 Byte)
Byte 4:  Id                              (4 Byte)
Byte 8:  Bytes Nutzdaten                 (4 Byte)
Byte 12: Flags                           (1 Byte)
         Bit 0: Zlib-Kompression
         Bit 1: Client supports Zlib
         Bit 2: Client supports MsgChannel
Byte 13: Datatype, PPL_ARRAY, usw.       (1 Byte)
Byte 14: Zufallszahl                     (2 Byte)					
Byte 16: CRC-Summe über den Header       (4 Byte)
\endcode

Die CRC-Summe wird über die ersten 16 Byte des Headers gebildet
(siehe ppl6::crc32). Alle mehrbyteigen Werte müssen in Network-Byte-Order
(Big Endian) angegeben werden.

\par Aufbau des Headers Version 2
Der Version 2-Header ist 4 Byte länger, die eine zusätzliche CRC-Summe
über die Nutzdaten enthalten.
\code
Byte 0:  "V"                             (1 Byte)
Byte 1:  Version=2                       (1 Byte)
Byte 2:  CommandId                       (2 Byte)
Byte 4:  Id                              (4 Byte)
Byte 8:  Bytes Nutzdaten                 (4 Byte)
Byte 12: Flags                           (1 Byte)
         Bit 0: Zlib-Kompression
         Bit 1: Client supports Zlib
         Bit 2: Client supports MsgChannel
Byte 13: Datatype, PPL_ARRAY, usw.       (1 Byte)
Byte 14: Zufallszahl                     (2 Byte)
Byte 16: CRC-Summe über die Nutzdaten    (4 Byte)					
Byte 20: CRC-Summe über den Header      (4 Byte)
\endcode
Die CRC-Summe des Headers wird über die ersten 20 Byte des Headers gebildet
(siehe ppl6::crc32). Alle mehrbyteigen Werte müssen in Network-Byte-Order
(Big Endian) angegeben werden.
 

*/
