Hallo,
habe ein kleines Problem beim verschicken eines Objectes über einen String. Und zwar möchte ich ein Artikel object verschicken, folgendermaßen:
der print ergibt:
Empfangen wird via:
Wenn ich mein Programm starte, den Artikel empfangen will, ohne irgendwas gemacht zu haben läuft alles glatt.
Wenn ich allerdings starte, mir den Artikel hole, wieder zurück schicke diesmal mit einem int zusammen, diesen int dann als Anzahl setze und dann den Artikel wieder hole, wird das scheinbar das alte Artikel object empfangen.
Nochmal bisl anschaulicher:
Client: Suche Artikel (Schicke ident. String)
Server: Artikel gefunden: Schicke Artikel-Object
Client: Empfange Artikel und print
Client: möchte ein Attribut des Artikels ändern (anzahl)
Client: Schicke Artikel + neue Anzahl int
Server: Empfange Artikel + int
Server: Setze neue Anzahl und schicke geändertes Object
Client: Empfange Object und print
Bei diesem letzten Schritt ist der Fehler: das Object hat noch den alten Wert für die Anzahl.
Habe mit print und debug geprüft: Es wird definitiv das object mit den richtigen Daten verschickt, aber das mit den falschen empfangen.
Woran kann das liegen?
habe ein kleines Problem beim verschicken eines Objectes über einen String. Und zwar möchte ich ein Artikel object verschicken, folgendermaßen:
Java:
// erg ist ein Artikel Object
try {
System.out.println("Artikel: \n \n" + erg + "\n \n" + geschickt");
objoutStream.writeObject(erg);
objoutStream.flush();
} catch (IOException e) { System.err.println(e); }
der print ergibt:
Artikel:
Name: Bild
Anzahl: 100
Art-Nummer: 10
geschickt
Empfangen wird via:
Java:
Artikel a = null;
a = (Artikel) objinStream.readObject();
Wenn ich mein Programm starte, den Artikel empfangen will, ohne irgendwas gemacht zu haben läuft alles glatt.
Wenn ich allerdings starte, mir den Artikel hole, wieder zurück schicke diesmal mit einem int zusammen, diesen int dann als Anzahl setze und dann den Artikel wieder hole, wird das scheinbar das alte Artikel object empfangen.
Nochmal bisl anschaulicher:
Client: Suche Artikel (Schicke ident. String)
Server: Artikel gefunden: Schicke Artikel-Object
Client: Empfange Artikel und print
Client: möchte ein Attribut des Artikels ändern (anzahl)
Client: Schicke Artikel + neue Anzahl int
Server: Empfange Artikel + int
Server: Setze neue Anzahl und schicke geändertes Object
Client: Empfange Object und print
Bei diesem letzten Schritt ist der Fehler: das Object hat noch den alten Wert für die Anzahl.
Habe mit print und debug geprüft: Es wird definitiv das object mit den richtigen Daten verschickt, aber das mit den falschen empfangen.
Woran kann das liegen?
Zuletzt bearbeitet: