Socket ObecjtSockets

Bizarrus

Bekanntes Mitglied
Huhu.

Ich hatte vor, diverse Objekte vom Server an einem Clienten zu senden.
Ist es möglich, ganze Elemente an dem Clienten zu versenden, sprich JFrames oder ähnliches?


Beim googlen konnte ich keine informationen darüber finden, ob soetwas möglich wäre.

Ich danke euch.
 

tagedieb

Top Contributor
Mit Swing Komponenten habe ich das noch nie probiert, aber solange deine Objekte
Code:
Serializable
implementierten sollte es funktionieren.
 

Bizarrus

Bekanntes Mitglied
Also würde des Theoretisch gehen, hört sich schonmal gut an.

Derzeit benutze ich
Java:
din = new DataInputStream(socket.getInputStream());
dout = new DataOutputStream(socket.getOutputStream());

Da dieser generell benötigt wird, will ich diesen beibehalten..

Kann ich neben dem DataInputStream auch einen Objekt-Stream benutzen, wobei die Anfrage vorher überprüft wird, ob gerade ein Objekt versendet wid?
oder kann ich beim Objekt-Stream auch normal mittels readUTF/writeUTF empfangen?

Angenommen ich hätte serverseitig ein Jframe in der variable "testfenster" "seralisiert"...
Dieser würde dann ja über einem Objekt-Stream an den Clienten versendet werden.

Wie ruft der Client das Objekt dann auf?

Wie gesagt, habe darüber leider keine Informationen gefunden, dein Tipp mit der Serialisierung ist gut. Ich fummel mal ein wenig rum, vielleicht bekomm ich es ja hin ^^

Edit
Nach etwas googeln stieß ich nun auf folgende PDF:
http://courses.coreservlets.com/Course-Materials/pdf/java5/18-Serialization.pdf

Da bin ich schonmal, dank deinem Tipp etwas weiter. denn Dort wird beschrieben wie ein Frame Serialisiert und über einem Objekt-Stream geschrieben wird.

Wieso habe ich bei google darüber nichts gefunden, als ich nach "Java ObjektStream send JFrame" gesucht habe? Google ist scheiße xD
 
Zuletzt bearbeitet:

tagedieb

Top Contributor
DatenInput- und DatenOutputStream brauchst du nicht. ObjectInput- und ObjectOutputStream bieten auch unterstuetzung fuer primitive Datentypen.

Hier noch ein Link Persistente Objekte und Serialisierung, der dir nuetzlich sein koennte.

PS. Fuer die Googlesuche nicht deutsche und englische Begriffe vermischen, da kommt nix schlaues dabei raus
 

XHelp

Top Contributor
Mal eine ganz andere Frage: warum willst du überhaupt ein JFrame übermitteln? Bist du sicher, dass es nicht sinnvoller geht?
 

Bizarrus

Bekanntes Mitglied
Gibt dafür schon seine Gründe.
Fenster die generell öfters geändert werden versende ich lieber übers netz, als ständig einen Clienten zu updaten, wobei nicht unbedingt jeder die Aktuelle Version des CLienten besizt.

Es ist also sinnvoll, Serverseitig zu arbeiten.
 

tagedieb

Top Contributor
Die funktioniert aber nur sehr limitiert. Ein GUI kann man noch mit standard Swing Komponenten zusammenstecken, aber ein Problem wird in den EventHandler liegen. Die musst du selber implementieren. Sollten diese dann im Client nicht vorhanden sein oder dieser noch eine alter Version verwenden dann ist Ende mit der Serialisierung.

Serialisierung funktioniert nur wenn man denselben Code Client- und Severseitig verwendet.

Eventuell kannst du Java Web Start verwenden um den Client upzudaten.
 

Empire Phoenix

Top Contributor
Also für serverseitige logic machst du es falsch dafür dann nen J2EE nehmen.
Oder normal client server und client zb per java webstart automatisch updaten lassen.
 

Neue Themen


Oben