Datagramme -- Größe der Pakete

Hallo,

Ich will einen UDP-Client schreiben, der ein DatagramPacket versendet.

DatagramPacket packet=new DatagramPacket(daten, daten.length, serveradr, serverport);
socket.send(packet);

Nun habe ich ein Beispiel-programm, in dem ein Byte-Array mit 8 Bytes versendet wird.
Sind diese 8 Bytes Standard oder kann ich auch größere Mengen versenden?
Und wenn es nicht geht, muß ich dann eine größere Datenmenge „von Hand“ zerlegen?

Danke im voraus,
Jan

Im UDP Header gibt es ein 2 Byte Feld für die Paketgröße, das heisst du kannst bis zu 65536 Bytes maximal in ein UDP Paket packen. Es gibt allerdings z.b. Probleme mit zu großen Paketen, Transportmedien wie Ethernet haben unterschiedlich große maximale Paketgrößen (Ethernet glaube ich 1500 Bytes) und wenn dein Paket da nicht reinpasst muss es zerlegt (fragmentiert) werden, was aber von einigen Netzwerkkomponenten als potentielles Sicherheitsrisiko verworfen wird.

Grössere Daten musst du bei UDP auf jeden Fall von Hand auftrennen und auch irgendwie eine Nummerierung etc. einbauen, damit du die richtige Reihenfolge wieder herstellen kannst bzw. merkst ob ein Paket überhaupt nicht angekommen ist.

Was hast du überhaupt vor? Sicher dass eine TCP Verbindung nicht evtl. besser wäre?

Grüße
Bruno