udp erkennen um welches objekt es sich handelt / max size

blackbox87

Mitglied
Hallo,

Ich habe zwei fragen:

Ich verschicke zwischen meinen komponenten "nachrichten" über UDP... Ich habe vor die Nachrichten als OBjekte zu verpacken sie zu serialisieren, und am anderen ende wieder zu deserialisieren. Am Receiver ende hört ja ein Listener auf einkommende Daten. Dort soll je nach objekt, etwas anderes passieren, also wird ist es notwendig zu erkennen was geschickt worden ist? Meine erste Frage ist: Gibt es für sowas ein spezielles Pattern wie man das macht? Oder kann/soll ich am Receiver nach dem Deserialisieren einfach instanceof machen oder getClass ???? Wie macht man das halbwegs "elegant" ?

Zu meiner Zweiten Frage: Ein DatagramPackage kann ja nicht beliebig groß sein, sondern es gibt eine Maximale Größe. Was wenn das Objekt größer ist? Muss ich das dan "zerstückeln" und in der richtigen reihen folge am Empfänger wieder "zusammenstöpseln" .. das Stell ich mir kompliziert vor... kann mir jemand dazu etwas sagen?


Liebe Grüße,
blackbox87
 

musiKk

Top Contributor
Und zusätzlich dazu:

Zu meiner Zweiten Frage: Ein DatagramPackage kann ja nicht beliebig groß sein, sondern es gibt eine Maximale Größe. Was wenn das Objekt größer ist? Muss ich das dan "zerstückeln" und in der richtigen reihen folge am Empfänger wieder "zusammenstöpseln" .. das Stell ich mir kompliziert vor... kann mir jemand dazu etwas sagen?

UDP garantiert im Gegensatz zu TCP auch keine Reihenfolge. Das ist aber wirklich "Networking 101".

Gibt es denn einen Grund, der gegen TCP spricht?
 
G

Gast2

Gast
Zu meiner Zweiten Frage: Ein DatagramPackage kann ja nicht beliebig groß sein, sondern es gibt eine Maximale Größe. Was wenn das Objekt größer ist? Muss ich das dan "zerstückeln" und in der richtigen reihen folge am Empfänger wieder "zusammenstöpseln"
wenn das Paket größer als die MTU ist wird automatisch zerstückelt und am Ende wieder zusammen gesetzt ... darum kümmert sich automatisch das Netzwerk ... ist also für den normalen Programmierer nicht zu beachten

UDP garantiert im Gegensatz zu TCP auch keine Reihenfolge.
nur halb richtig ... wenn das UDP Paket größer als MTU ist, wird es zerstückelt - am Ende aber wieder richtig zusammen gesetzt ... wenn ein Teilpaket verloren geht wird das gesamte Paket verworfen - der Ausfall ist also größer je größer die UDP-Pakete sind ... richtig ist aber das das UDP-Paket B, was nach Paket A geschickt wurde, vor Paket A ankommen kann

hand, mogel
 

TheDarkRose

Gesperrter Benutzer
Wobei UDP selbst auch eine Größenbeschränkung hat. Liegt glaub ich bei 65k Bytes oder so. Fragmentiert wird so uns so, wenn Pakete größer als die MTU sind.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Socket Server: ConnectionError vom Client erkennen Netzwerkprogrammierung 31
B Socket Verbindungsverlust unter Linux erkennen Netzwerkprogrammierung 5
A versch. Daten im Stream erkennen Netzwerkprogrammierung 2
B HTML Formularfelder erkennen und ausfüllen Netzwerkprogrammierung 3
P PHP Weiterleitung erkennen Netzwerkprogrammierung 3
G Sockets und HTTP: Ende des Datenempfangs erkennen Netzwerkprogrammierung 3
O disconnect bei server erkennen Netzwerkprogrammierung 6
A Abbruch einer Verbindung erkennen? Netzwerkprogrammierung 3
M Problem: connection abbrechen und login erkennen Netzwerkprogrammierung 2
A Server im LAN erkennen Netzwerkprogrammierung 7
reibi Socket Socketverbindung nutzt welches Protokoll? Netzwerkprogrammierung 5
M Welches Speicherformat für News-Database?? Netzwerkprogrammierung 2
M Webservices - WSDL1.1 - WSDL2.0 - Welches Framework? Netzwerkprogrammierung 3
G Welches Konstrukt? Netzwerkprogrammierung 4
P Welches Protokoll für RMI verwenden? Netzwerkprogrammierung 10
T Welches Netzwerk ist am bestern für. Netzwerkprogrammierung 2
J Objekt mit RSA und AES verschlüsseln und entschlüsseln HILFE Netzwerkprogrammierung 4
OnDemand Json Objekt leeres Array beim lesen Netzwerkprogrammierung 9
I Socket ObjectOutputStream-Socket: Objekt wird falsch übertragen Netzwerkprogrammierung 2
L Java RMI Objekt konsistenz Netzwerkprogrammierung 1
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
R RMI und Entferntes Objekt (EO) Netzwerkprogrammierung 0
A Server Antwort enthält JSON Objekt/Array Netzwerkprogrammierung 8
N Selbes URL Objekt für alle Requests nutzen Netzwerkprogrammierung 7
S Socket Client liest leeres Objekt Netzwerkprogrammierung 10
D Remote-Objekt-Server : Alternative Methodenaufruflogik zu Reflection und hart codiert Netzwerkprogrammierung 5
K RMI Angemeldetes Objekt nicht aktuell? Netzwerkprogrammierung 9
D [CORBA] Eigenes Objekt in idl? undefined type Netzwerkprogrammierung 5
M Objekt über Object-Stream, empfange "alte" Daten Netzwerkprogrammierung 2
M Objekt über socket senden/empfangen Netzwerkprogrammierung 3
H Objekt von JSP an Servlet übergeben Netzwerkprogrammierung 4
T Wieso ist mein Objekt leer? Netzwerkprogrammierung 6
L RMI-Objekt zwischen zwei RMI-Servern kopieren Netzwerkprogrammierung 2
S Objekt Felder versenden Netzwerkprogrammierung 5
W Objekt über Socket übertragen Netzwerkprogrammierung 14
G Problem bei Objekt senden von server zu client Netzwerkprogrammierung 6
P RMI - Objekt als Rückgabeparameter Netzwerkprogrammierung 3
M RMI - Ein Objekt für Alle? Netzwerkprogrammierung 5
H Versenden von Objekt Netzwerkprogrammierung 2
J Prblem, wenn im verschickten Objekt ein Array ist Netzwerkprogrammierung 4

Ähnliche Java Themen


Oben