Socket Objekte werden nicht aktualisiert

Vintner

Mitglied
Hallo,

ich schicke über einen ObjectOutputStream ein Objekt einer eigenen Klasse. Beide Klassen sind identisch im Server und im Client. Wenn ich serverseitig Änderungen am Objekt der Klasse vornehmen und dieses dann losschicke erhält der client das Objekt mit den alten Werten.
Um nicht überall die Objekte durchzuschleusen habe ich mir gedacht dass ich sie einfach per Singleton realisiere. Für die Übertragung über den Socket musste ich den Konstruktor schon public machen, damit das Objekt deserialisiert werden kann.

Java:
import java.io.Serializable;
import java.util.LinkedList;

public class Spieldaten implements Serializable{
	
	
	public static final long serialVersionUID = 1008;
	public static Spieldaten spieldaten;
	public LinkedList<String> spieler;
	
	public Spieldaten(){
		spieler = new LinkedList<String>();
	}

	public static Spieldaten getSpieldaten(){
		if(spieldaten==null)
			spieldaten = new Spieldaten();
		return spieldaten;
	}
	
	public void addSpielerDaten(String spieler){
		this.spieler.add(spieler);
	}
	
        //Neue Referenz auf das Spieldatenobjekt
	public void setSpieldaten(Spieldaten spieldaten){
		Spieldaten.spieldaten=spieldaten;
	}
	
}

Der Server schickt die aktuellsten Objekte raus, aber der Client bekommt immer nur das selbe Objekt, das er zu Beginn bekommt.


Hier noch das was ich vom Server losschicke:
Java:
oos = new ObjectOutputStream(client.getOutputStream());
//... ausgelassen
while()
     oos.writeObject(Spieldaten.getSpieldaten());
//... ausgelassen

Der Client liest das so aus:
Java:
inputObject = ois.readObject();
//.. Überprüfung welches Objekt reinkommt .. da ich verschiedene Klassen-Objekte sende
else if (inputObject.getClass()==Spieldaten.getSpieldaten().getClass()){
					Spieldaten.getSpieldaten().setSpieldaten((Spieldaten) inputObject);
                                        //... ausgelassen

Das ist etwas unübersichtlich, aber vielleicht hatte jemand schon mal so ein Problem.
Irgendwie ist das, als würde Clientseitig das erste Objekt festklemmen und immer reproduziert werden beim Empfangen.

Beste Grüße
 
Zuletzt bearbeitet:

pureFail

Neues Mitglied
Hallo,

ich hatte mal ein ähnliches Problem, bin mir nicht ganz sicher was genau die Lösung war, aber ich vermute nach dem oos.writeObject(...) müsste noch ein oos.flush() kommen. Allerdings ohne Garantie, habe es mit deinem Code nicht ausprobiert.
 
Zuletzt bearbeitet:

Vintner

Mitglied
flush habe ich auch versucht, hat aber nichts verändert.
Ich hab jetzt mal die reset-Methode von ObjectOutputStream ausprobiert, damit kommen die anderen Objekte auch durch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Laufen Objekte, die vom Cajo-Server geliefert werden, lokal auf dem Client? Netzwerkprogrammierung 4
T JSON-Objekte richtig parsen Netzwerkprogrammierung 8
L Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen Netzwerkprogrammierung 1
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
A RMI RMI - Thread Objekte übertragen und auf anderer Machine weiterlaufen lassen Netzwerkprogrammierung 0
C List Deserialisierung entfernt Objekte Netzwerkprogrammierung 2
F HTTP Serialisierte Objekte aus Datei von Server Netzwerkprogrammierung 1
H Socket Objekte über Socket? Allgemeine Verständnisprobleme in Sachen Socket Netzwerkprogrammierung 3
S Socket Über UDP Objekte verschicken Netzwerkprogrammierung 9
B Eigene Objekte per RMI übergeben Netzwerkprogrammierung 2
S Kapselung der Netz-Objekte Netzwerkprogrammierung 3
B verschiedene Serialisierte Objekte identifizieren? Netzwerkprogrammierung 5
T Objekte im NIO unblocking mode versenden Netzwerkprogrammierung 11
C Socket ObjectInputStream liest nur Objekte der jeweiligen Programminstanz Netzwerkprogrammierung 5
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
G Objekte per TCP verschicken + Thread Netzwerkprogrammierung 4
T Inputstream -> verschiedene Objekte lesen Netzwerkprogrammierung 3
I Objekte über das Netzwerk Netzwerkprogrammierung 5
M Messenger - String oder Objekte Netzwerkprogrammierung 4
S Netzwerk und Objekte Netzwerkprogrammierung 5
S RMI 1.) Entfernte Objekte "Zwischenspeichern" 2.) Threadsicherheit Netzwerkprogrammierung 2
T rmi ssl zu große Objekte übergeben -> Exception Netzwerkprogrammierung 10
A Konflikt: Blocking und Non-Blocking bei Objekte versenden Netzwerkprogrammierung 4
N RMI und Datenbank Objekte Netzwerkprogrammierung 3
P Objekte über DatagramSocket versenden Netzwerkprogrammierung 12
R Mittels BufferedReader Objekte lesen? Netzwerkprogrammierung 5
M Objekte senden zwischen Java und PHP mit SOAP Netzwerkprogrammierung 9
A Objekte in übergebenen Objekten mit WebServices? Netzwerkprogrammierung 6
A RMI wie kann ich objekte übergeben? Netzwerkprogrammierung 5
P Serialialiserte Objekte übers Netzwerk verschicken Netzwerkprogrammierung 9
S Objekte zwischen Client und Server über Sockets senden Netzwerkprogrammierung 2
K Java RMI bricht ab wenn Remote eine Methode ausgeführt werden soll Netzwerkprogrammierung 5
S Umlaute wie ê in sms werden als ? zeichen dargestellt Netzwerkprogrammierung 4
T DataOutputStream Nachrichten werden fehlerhaft gesendet. Netzwerkprogrammierung 1
E JCIFS - Smb - Datei kann nur von einem Benutzer bearbeitet werden Netzwerkprogrammierung 1
F Reader/ Writer werden nicht geschlossen Netzwerkprogrammierung 2
F Java Server Scanner oder InputStream kann nicht gelsesen werden! Netzwerkprogrammierung 6
X Daten können nicht sofort empfangen werden Netzwerkprogrammierung 1
B Methoden und Konstruktoren von Java.net package werden nicht geladen Netzwerkprogrammierung 2
A Socket ASCii Zeichen werden nicht per udp übermittelt. please help . Netzwerkprogrammierung 6
H HTTP Header Response kann nicht ausgelesen werden Netzwerkprogrammierung 4
J Nach Dateiversand werden keine Nachrichten mehr übertragen Netzwerkprogrammierung 11
S Servlet - Datei kann nicht gelöscht werden Netzwerkprogrammierung 12
Semox HTTP Webserver: Externe Dateien werden nicht verwendet. Netzwerkprogrammierung 10
P Server/Client Daten empfangen, wenn Daten gesendet werden Netzwerkprogrammierung 9
OliverKroll Wie kann mit Java und CORBA der Ausfall des Servers abgefangen werden ? Netzwerkprogrammierung 9
D Daten, die mit PHP erzeugt werden, mit Java auslesen Netzwerkprogrammierung 8
D Lange Zeilen in Emails werden umgebrochen Netzwerkprogrammierung 2
A Wie werden Daten versendet? "Crashcode" Netzwerkprogrammierung 4
G CORBA Klassen werden nicht erkannt. Netzwerkprogrammierung 7
JavaDevOp Socket Status von UDP-Port prüfen (PortUnreachableException funktioniert nicht?) Netzwerkprogrammierung 32
A Bei FTP Übertragung wird Datei nicht komplett übertragen Netzwerkprogrammierung 2
B Multicast-Nachrichten-Empfang funktioniert nicht Netzwerkprogrammierung 5
M JAX-WS unter Java 17 plötzlich nicht mehr möglich Netzwerkprogrammierung 5
S BufferedStream funktioniert nicht immer Netzwerkprogrammierung 7
T OutputStream kommt nicht an Netzwerkprogrammierung 18
G UDP Packet empfangen funktioniert nicht. Netzwerkprogrammierung 16
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
S .jar läuft local, aber nicht remote (SSH/Terminal) Netzwerkprogrammierung 10
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
J SSL haut nicht hin Netzwerkprogrammierung 3
A Socket-Anwendung (BufferedWriter/Reader liest nicht aktuellen Wert) Netzwerkprogrammierung 6
platofan23 Socket Java Socket mit DynDns nicht erreichbar Netzwerkprogrammierung 6
J Wechsel auf Jdk13 , sfpt funktionier nicht mehr Netzwerkprogrammierung 2
Dann07 Proxy funktioniert nicht so wie gewünscht! Netzwerkprogrammierung 18
B RESTful API weiß nicht weiter Netzwerkprogrammierung 2
L Kann VM nicht ueber Host Name finden Netzwerkprogrammierung 0
V Ich finde den Fehler nicht... Netzwerkprogrammierung 2
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
S Socket Webserver mit SSLSocket geht nicht Netzwerkprogrammierung 1
P RMI stub wird nicht gefunden Netzwerkprogrammierung 8
N Test Servlet funktioniert nicht Netzwerkprogrammierung 11
M com.google.gson wird nicht erkannt Netzwerkprogrammierung 2
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
D FTP ListNames() funktinoniert nicht richtig Netzwerkprogrammierung 2
Thallius JDBC getConnection kommt nicht zurück Netzwerkprogrammierung 1
KingSquizzi3 Website parsen mit Hilfe von jsoup funktioniert nicht Netzwerkprogrammierung 3
J Java Server empfängt php inhalt nicht Netzwerkprogrammierung 1
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
F FTP FTPClient Datei lässt sich nicht öffnen Netzwerkprogrammierung 4
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
R Socket bei server.accept(); gehts nicht weiter Netzwerkprogrammierung 2
K Server liest Daten nicht Netzwerkprogrammierung 6
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
L IText mit Servlets, funktioniert nicht Netzwerkprogrammierung 0
E Gruppenchat: Über HTTPS oder nicht? Netzwerkprogrammierung 5
P nanoHttp upload.html page lädt nicht Netzwerkprogrammierung 4
M Byte Array kommt nicht an Netzwerkprogrammierung 0
D TCP Socket funktioniert nicht richtig Netzwerkprogrammierung 3
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
D Socket UDP Client reagiert nicht auf spontane Meldungen Netzwerkprogrammierung 5
C Servlet erstellen klappt nicht Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben