Wenn Sie kleine Nachrichten senden, müssen Sie den Protokoll-Overhead kennen:
Stellen Sie sich vor, Sie senden eine 10-Byte-Nachricht.
Ein TCP-Header ist 24 Byte, ein UDP-Header ist 8 Byte. Angenommen, Sie verwenden UDP, haben Sie insgesamt 18 Bytes.
Sie haben aber auch den IP-Header, der in IPv4 mindestens 20 Byte oder in IPv6 mindestens 40 Byte beträgt. Das sind insgesamt 38 Bytes, wenn Sie IPv4 verwenden.
Und dann haben Sie auch den Ethernet-Frame um all das, was (normalerweise) weitere 42 Bytes sind. Sie sind also bei 80 Bytes. Das ist siebenmal so viel Protokollaufwand wie die von Ihnen gesendeten Daten.
Wie Sie sehen, ist das Senden kleiner Datennachrichten nicht sehr bandbreiteneffizient, da für jede Nachricht Fixkosten von 70 Byte Protokoll-Overhead anfallen.
to visualize this better, seventy bytes is as much data as this string
Es ist jedoch oft auch keine gute Idee, kleine Nachrichten zu verzögern, damit Sie mehr gleichzeitig senden können, da sich das Spiel dadurch verzögerter anfühlt.
Es gibt keine goldene Hammerlösung, um den idealen Kompromiss dafür zu finden. Alle gleichzeitig verfügbaren Daten sollten jedoch in einer Nachricht gesendet werden, anstatt sie in mehrere zu trennen. Es gibt nichts zu gewinnen und viel zu verlieren, wenn unnötige Fragmentierung auf Anwendungsebene hinzugefügt wird.
(Bildquelle: http://en.wikipedia.org/wiki/File:UDP_encapsulation.svg )