Mehrere gleich Packete behandeln

Amios

Mitglied
Hallo,
ich arbeite z.Z an einem Netzwerkroutingverfahren bei dem es von Nöten ist, dass ein Knoten(Rechner) Pakete mit identischem Inhalt von unterschiedlichen Nachbarn im Netzwerk erhält. Ich stelle die Anforderung, dass der Knoten von 60% seiner Nachbar diese jenes Paket erhält. Anschließend soll eine Antwort generiert werden und diese an einen weiteren Nachbarn weitergeleitet werden. Nun stellt sich mir jedoch die Frage, wie ich sicherstelle das 1) Ein Paket nicht mehrmals behandelt wird 2) die 60% Schranke eingehalten wird und 3) eventuelle spätere Pakete verworfen werden, wenn ein Antwortpaket bereits versendet wurde 4) Pakete die weniger als häufig als die Schranke eintreffen, verworfen werden. Das ganze sollte möglichst ohne zwischen speichern der Pakete erfolgen (da sehr viele Pakete eintreffen).

Vielen Dank im Vorraus
 
G

Gast2

Gast
Wie willst du ohne Zwischenspeichern der Pakete oder zumindest einer Identitätssumme (Hashwert o.Ä.) denn feststellen ob du ein Paket schon einmal empfangen hast oder nicht?

Du musst ja schon irgendwie mitzählen und identifizieren wie oft du welchs Paket "in den Händen" gehalten hast.
 

Amios

Mitglied
Wie willst du ohne Zwischenspeichern der Pakete oder zumindest einer Identitätssumme (Hashwert o.Ä.) denn feststellen ob du ein Paket schon einmal empfangen hast oder nicht?

Du musst ja schon irgendwie mitzählen und identifizieren wie oft du welchs Paket "in den Händen" gehalten hast.
Ja das ist schon richtig. Jedoch müsste eine zeitliche Begrenzung eingerichtet werden um alte Hashwerte zu löschen.

Als Datenstruktur wäre es möglich eine Hashmap die auf Vector abbildet zu nutzen. Key= Messagetype Value= Messageobject(TimeStamp, Sender, Hashwert).

Dann könnte abgefragt werden, wie viele Pakete bereits angekommen sind. Wenn die Länge des Vectors länger ist als die festgelegte Schranke sollte die Abhandlungsroutine gestartet werden.
 
Zuletzt bearbeitet:

FArt

Top Contributor
Hashwert ist ja schön und gut, aber ein Hash hilft dir nur bestimmte Entscheidungen schnell treffen zu können. Ein gleicher Hashwert ist aber keine Garantie dafür, dass auch das Paket bereits bekannt ist. Dafür brauchst du auf jeden Fall einen eindeutigen Identifier für den "identischen Inhalt", egal von wem sie kommen.

Kennst du bereits die Anforderungen für: spätere identische Pakete verwerfen bzw. zu selten gesendetet Pakete ignorieren? Was passiert, wenn dein Zeitfenster für das Aufheben der Pakete abgelaufen ist und dann doch noch ein bereits beantwortetes Paket eintrifft? Oder wenn bestimmte Pakete zwar sehr oft, aber in großem Abstand eintreffen? Ist das relevant?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
Aruetiise Socket Mehrere Clients Netzwerkprogrammierung 4
E Mehrere Sockets Netzwerkprogrammierung 2
C Mehrere Spielewelten im Multiplayer Netzwerkprogrammierung 2
J Framework mehrere Clients/ Server-Broadcast/oracle XE/ XML Netzwerkprogrammierung 1
V Server / mehrere Clients / MySQL / Konzept Netzwerkprogrammierung 2
S Server - Mehrere Klassen sollen Daten senden und empfangen Netzwerkprogrammierung 25
Creylon Socket Mehrere gleichzeitig eingehende Nachrichten Netzwerkprogrammierung 8
N SOCKET mehrere Requests, keep Alive serverspezifisch? Netzwerkprogrammierung 3
7 Mehrere Verbindungen gleichzeitig in einem Thread mit ApacheHTTP Netzwerkprogrammierung 7
Z Socket [Chatprogramm] Mehrere Clients an einen Server Netzwerkprogrammierung 10
V Authentifikation über mehrere Server? Netzwerkprogrammierung 3
G Socket Mehrere Clientanmeldungen am Server Netzwerkprogrammierung 13
D Mehrere Clients über Java-Sockets Netzwerkprogrammierung 13
cedi Socket Mehrere Clients an einem Server Netzwerkprogrammierung 4
B SSH mit Jsch, mehrere Befehle senden Netzwerkprogrammierung 4
F Socket Verbindungen über mehrere Server Netzwerkprogrammierung 4
M Jetty Konfiguration mehrere Handler? Netzwerkprogrammierung 2
F UDP Server - mehrere Pakete auf einmal Netzwerkprogrammierung 12
L Socket Chat Server für mehrere Clients Netzwerkprogrammierung 7
R mehrere MySQL-Zugriffe Netzwerkprogrammierung 3
B Paralleler Dateitransfer: Ein Client - Mehrere Sockets? Wie connecten? Netzwerkprogrammierung 16
S Mehrere Attachments mit JavaMail API auslesen Netzwerkprogrammierung 3
O Mehrere Datei per DataInput/OutputStream über Socket Netzwerkprogrammierung 12
A Datenverteilung: Mehrere Threads verwenden? Netzwerkprogrammierung 4
T Netzwerkchat Problem: Mehrere Nachrichten ~ Anfängerproblem Netzwerkprogrammierung 3
W Bestimmt IP Adresse verwenden wenn man mehrere hat Netzwerkprogrammierung 5
D Clients sollen mehrere Sessions starten Netzwerkprogrammierung 11
A Jakarta Commons HTTPClient: Mehrere Requests gleichzeitig Netzwerkprogrammierung 2
R Mehrere Dateien über einen Socket senden Netzwerkprogrammierung 2
G Nachricht an mehrere Clients schicken Netzwerkprogrammierung 10
L mehrere Streams über einen Socket? Netzwerkprogrammierung 8
V Mehrere Streams durch einen Stream senden Netzwerkprogrammierung 14
E Mehrere / bestimmte Netzwerkkarten ansteuern Netzwerkprogrammierung 10
F Mehrere Attachments mit JavaMail API Netzwerkprogrammierung 2
G Proxy und mehrere Verbindungen Netzwerkprogrammierung 4
G Mehrere SSL Verbindungen Netzwerkprogrammierung 2
A Mit Client auf mehrere Server zugreifen Netzwerkprogrammierung 5
M Mehrere Ports gleichzeitig abhören Netzwerkprogrammierung 5
TRunKX Ein Port mehrere Verbindungen? Netzwerkprogrammierung 7
G Server an mehrere Clients Netzwerkprogrammierung 15
L JavaMail: Automatisches Email Versand (mehrere Empfänger) Netzwerkprogrammierung 4
U Einen HandlerThread, der mehrere Verbindungen verwaltet? Netzwerkprogrammierung 2
X mehrere Request über eine HttpURLConnection Netzwerkprogrammierung 2
B Nach Verbindung gleich ObjectStream empfangen Netzwerkprogrammierung 1
B Server socket springt nicht gleich an Netzwerkprogrammierung 3
E Socket DatagramSocket, wieviele Packete sind in der Receive Queue? Netzwerkprogrammierung 5
S Socket.getInputStream() -> einzelne Packete? Netzwerkprogrammierung 5
J UDP port packete lesen,wenn dieser besetzt ist Netzwerkprogrammierung 3
A UDP Packete Sortieren Netzwerkprogrammierung 3
Linad TLS - Packete mit Java auswerten Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben