HashCode von DatagrammPacket(content) erzeugen.

Amios

Mitglied
Moin.
Ich habe ein Client-Server System bei dem ich realisieren möchte, dass vom Inhalt identische Pakete nicht mehrmals behandelt werden. Das nur zur Einleitung.

Also bekomme ich 2 DatagrammPackets(UDP) bei denen ich auf identischen Inhalt überprüfen möchte.
Also speicher ich mir den HashCode des ersten Pakets, und wenn ich ein weiteres erhalte, erstelle ich von jenem ebenfalls einen HashCode und vergleiche die HashCodes miteinander.

Die Sache ist nur, die Codes sind unterschiedlich obwohl der der Inhalt identisch ist.

hier ist ein kleines Beispiel:
Java:
			byte[] a = new byte[2];
			byte[] b = new byte[2];
			for (byte i = 0; i < b.length; i++) {
				a[i]= i;
				b[i]= i;
			}
			if (a.hashCode() == b.hashCode()) 
				System.out.println("true"); 
			else 
				System.out.println("false");
nur gibt die Ausgabe stehts false aus
 
S

SlaterB

Gast
ein HashCode muss sich nicht auf den Inhalt beziehen, das mag manchmal so sein, ist aber nicht immer so,
bei Arrays funktionieren hashCode + equals generell wie bei Object vorgegeben: es geht allein um die Speicheradresse

du musst schon selber ne Quersumme über alle bytes ausrechnen oder gleich alle Zahlen paarweise vergleichen
 

Amios

Mitglied
Sowas hatte ich schon befürchtet.
Eine Möglichkeit wäre auch, wenn man eine CRC32 über den Inhalt erstellt.
Und diese miteinander vergleicht.
Doch da habe ich dann wieder ein Problem.
Wenn ich nun zusätzlich Objekte verschicken möchte, dann stehen In dem byte[] diese Objekte.
Ich vermute einfach mal, dass dann ebenfalls Die Daten sich voneinander unterscheiden, obwohl der Inhalt der gesendeten Objekte identisch war. Da ja immer der ObjectHeader geschrieben wird, der sich ja von Objekt zu Objekt unterscheidet.
Hm wie mache ich das denn mal, damit ich stets nur den Inhalt überprüfe....
 
S

SlaterB

Gast
ist das so mit dem ObjectHeader? ausprobiert?
wenn dann musst du jeweils die Objekte zurückparsen und equals aufrufen,

ansonsten verwende eben nicht Serialisierung sondern speichere dir die Objekte als Text, z.B. XML,
Externalisation statt Serialisation ist da glaube ich ein Fachbegriff
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T HashCode korrekt Allgemeine Java-Themen 7
F Methoden hashCode() & equals() Allgemeine Java-Themen 13
A JUnit/Hashcode Problem Allgemeine Java-Themen 5
I HashMap key wird nicht erkannt trotz überschriebener equals/hashCode Methode Allgemeine Java-Themen 6
pg1337 hashCode() verändert sich Allgemeine Java-Themen 15
A Input/Output Serialisierung und Object.hashCode() Allgemeine Java-Themen 3
M hashCode() Allgemeine Java-Themen 3
N hashCode() für zwei ints Allgemeine Java-Themen 5
C hashCode() Allgemeine Java-Themen 2
fastjack jUnit und Test von equals, hashCode, toString Allgemeine Java-Themen 11
hdi Wahrscheinlichkeitsfrage bei hashCode() mit modulo Allgemeine Java-Themen 7
Guybrush Threepwood HashCode-Generierung Allgemeine Java-Themen 4
G hashCode() == Speicheradresse? => warum nur int? Allgemeine Java-Themen 28
X hashCode() Berechnung Allgemeine Java-Themen 5
M hashCode Allgemeine Java-Themen 9
vogella Überschreiben von equals und hashcode für Collection Allgemeine Java-Themen 7
T hashCode() erzeugen. Allgemeine Java-Themen 11
T eine Frage zu hashCode() Allgemeine Java-Themen 11
U Hashtables und hashCode() Allgemeine Java-Themen 6
A Variablen non-static variable cannot be referenced from a static content Allgemeine Java-Themen 4
F Content-Disposition ermitteln über URL Allgemeine Java-Themen 2
N Content von URL lesen Allgemeine Java-Themen 18
I URLConnection mit Chunked und Content-Length=-1 Allgemeine Java-Themen 4
A PDF Content vergleichen Allgemeine Java-Themen 3
J PDF Content extrahieren mit JPO Allgemeine Java-Themen 5
M Content-Type setzen und auslesen? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben