Socket Objektserialisierung

Z

Zentauro1

Gast
Hallo,

ich stehe vor folgendem Problem: Ich habe eine Clientapplikation welche DAten manipuliert. Diese Daten möchte ich dann an einen Server senden, der sie i, Filesystem speichert. Wenn ich nun im Client "öffnen" anwähle, so sollen die Daten vom Server wieder geholt werden.

Im Grunde funktioniert das auch schon - ich verwende im Client nen ObjectOutputStream und schicke das Objekt über den Socket raus. Wie stell ich es aber nun im Server an, dass der die Objektklasse nicht kennen muss, da er eigentlich als dummer "Daten vom Socket auf Festplatte speichern" bzw. "Daten von Festplatte über Socket senden" - Server arbeiten soll...?

Vielen Dank, LG Philipp
 
S

SlaterB

Gast
versende doch einfach NICHT per ObjectStream, der ist genau dafür da, dass die Gegenseite das ganze als Object interpretiert,
bei Sockets mit Mehrfachversand und Zusatzinformationen nebenher ist so ein komplizierter Stream sowie nicht so toll,

auf Clientseite kannst du einen ObjectStream verwenden, wenn nötig, aber lasse den in einen ByteArrayOutputStream oder in einer Datei auf der Festplatte enden,
und sende dann dieses byte[], ob direkt aus dem Speicher oder aus einer Datei,
so kommt auf der Gegenseite nur ein byte[] an, das kriegt jeder Dummy-Server hin

natürlich kannst du auch direkt ObjectOutputStream an den Server schicken und auf der Gegenseite werden nur die bytes uninterpretiert gelesen, wenn das für dich einfacher ist

du kannst auch einen ObjectOutputStream mit teils Java-Objekten (File, int size, Date datum) und teils byte[]-Nutzdaten versenden
 
Z

Zentauro1

Gast
Vielen Dank für deine rasche Antwort! Das klingt gut - werd ich gleich mal probieren müssen, komme aber erst leide morgen wieder dazu und kann bis dahin kein Feedback geben... :-(

Danke nochmal und schönen Sonntag
 
Ähnliche Java Themen

Ähnliche Java Themen


Oben