hi,
Um über das DatagramSocket UDP- Pakete empfangen zu können, muss ich ihre Länge wissen. DatagramSocket.receive erwartet nämlich ein DatagramPaket als Parameter in dem sich dann das Empfangene findet. Wird mehr gesendet als das an den Konstruktor des DatagramPaket übergebene byte- Array fast, wird der Rest offensichtlich einfach abgeschnitten.
Dummerweise enthalten meine Pakets Strings in einer Beschreibungssprache, die ich dann per JavaCC zerlege. Fehlt nun das Ende des Strings, bricht das ganze wegen Syntaxfehlern ab. Da ich den Server auf der anderen Seite nicht geschrieben habe, weiß ich aber nicht, wie lang die Strings maximal werden. Erstmal alles zu sammeln ist auch keine Alternative, mein Client soll in Echtzeit auf die Eingaben des Servers reagieren. Gibt es eine Möglichkeit zu erfahren, wie lang das nächste Paket wird bzw. Pakete unabhängig von ihrer Länge vollständig zu empfangen?
Um über das DatagramSocket UDP- Pakete empfangen zu können, muss ich ihre Länge wissen. DatagramSocket.receive erwartet nämlich ein DatagramPaket als Parameter in dem sich dann das Empfangene findet. Wird mehr gesendet als das an den Konstruktor des DatagramPaket übergebene byte- Array fast, wird der Rest offensichtlich einfach abgeschnitten.
Dummerweise enthalten meine Pakets Strings in einer Beschreibungssprache, die ich dann per JavaCC zerlege. Fehlt nun das Ende des Strings, bricht das ganze wegen Syntaxfehlern ab. Da ich den Server auf der anderen Seite nicht geschrieben habe, weiß ich aber nicht, wie lang die Strings maximal werden. Erstmal alles zu sammeln ist auch keine Alternative, mein Client soll in Echtzeit auf die Eingaben des Servers reagieren. Gibt es eine Möglichkeit zu erfahren, wie lang das nächste Paket wird bzw. Pakete unabhängig von ihrer Länge vollständig zu empfangen?