PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Empfange eigene Pakete



mcspam
02-04-2006, 20:44
Hallo,

ich habe zwei Threads laufen. Der eine broadcastet regelmäßig Paket ins lokale Netz.
Der andere Thread hört auf dem gleichen Port, ob von anderen Teilnehmer Pakete ankommen.
Der "Listener" Thread bekommt allerdings auch die Pakete, die ich selbst verschickt habe.
Wie kann man das verhindern oder zumindest die Herkunft eindeutig mir selbst zuordnen?

Danke und Gruß

anda_skoa
03-04-2006, 11:36
Sollte beim empfangenen Paket nicht die Adresse die des Sender sein, also in diesem Fall deine eigene?

Ciao,
_

mcspam
03-04-2006, 21:03
ja, allerdings gibt es leider von InetAdress keine Methode ala isOwnAdress() und wenn ich alle Adressen durchgehe, wird nur die 127.0.0.1 aufgelistet.

ich habe mittlerweile die Methode "setLoopbackMode" vom DatagramSocket gefunden, allerdings ist das nur ein "hint" und funktioniert nicht in allen Fällen :/

anda_skoa
04-04-2006, 16:42
Was ist mit dem getSocketAddress (oder so ähnlich)?

Ciao,
_

mcspam
04-04-2006, 19:03
ja, diese Methode gibt es ;)

aber ich kann damit leider auch nicht die Herkunft zuordnen.

anda_skoa
04-04-2006, 23:03
Ich nehme an es sind nicht deine eigene Daten bzw dein eigenes Datenformat?

Ciao,
_

mcspam
05-04-2006, 12:47
doch eigentlich schon.
aber eine Überprüfung auf gleichen Inhalt finde ich für eine sehr dreckige Variante.

Wie ich heute von einem Professor erfahren habe, scheint es tatsächlich keine Möglichkeit mit der API zu geben.

anda_skoa
05-04-2006, 17:52
Am besten irgendeine Art von Client Identifier in den Paketen mitführen. Es ist ja nicht nötig den gesamten Inhalt zu vergleichen

Ciao,
_