konstanter Netzwerkstream mit vordefinierter Bandbreite

micfire

Mitglied
Hallo Community,
gibt es in Java die Möglichkeit, über ein Client-Server-System vom Client aus einen konstanten tcp/udp Stream zu generieren, der beispielsweise nicht größer als 2 mbit/s ist?

Mein Ziel ist es, in einer Netzwerktestumgebung einfach nur Pakete zu erzeugen die man z.b. beim Debuggen oder beim Optimieren vom Routing sehen kann, ohne das ich jedesmal einen ping auf dem Client ausführen muss.

Besten Dank im Voraus
 

Tobse

Top Contributor
Klaro. Du kannst einfach nur so viele Packete pro Zeiteinheit rausschicken, dass es in der Summe nicht über 2mbit/s geht.

Ob du TCP Packete an einen Empfänger schicken kannst, der nicht darauf antwortet, weiss ich gerade nicht. IMHO setzt java.io.Socket einen erfolgreichen Handshake voraus, bevor du Daten senden kannst.
Mit java.net.DatagramSocket solltest du aber problemlos UDP Packete an beliebige Adressaten schicken können.

Bei java.io.Socket musst du nur auf eines achten: Du kannst die Einteilung in Packete nicht selbst kontrollieren. Ein Aufruf von flush() auf dem OutputStream verursachte, dass alle Daten, die bisher geschrieben wurden, in Packete gepackt und versendet werden. Damit aber bei jedem Aufruf von flush() nicht X Packete rausgehen (was ja deine 2mbit Annahme zerstört), musst du sicherstellen, dass zwischen den flush() Aufrufen nicht mehr Daten in den OutputStream geschrieben werden, als in ein TCP Packet passen.
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben