Java-Serialisierung über das Netzwerk

7

Ich möchte nur wissen, ob es ein Tutorial oder eine Anleitung zum Serialisieren von Objekten gibt, indem Sie sie über das Netzwerk in einen Stream einfügen und auf der anderen Seite deserialisieren. Ich verstehe die Prinzipien der Serialisierung, I / O, Streams, Sockets und so weiter. Ich möchte nur ein Beispiel eines Clients, der ein Objekt an einen Server sendet, um damit zu beginnen.

    
elbaid 02.04.2009, 01:37
quelle

4 Antworten

9

(pdf) ist ein nützliches Tutorial, das Sie durch die Grundlagen führt Serialisierung und Sockets verbindet dann die beiden Konzepte miteinander (etwa in der Mitte der Folien), um zu zeigen, wie ein Objekt serialisiert und von Client zu Server gesendet wird (keine RMI). Ich denke, das ist genau das, was du willst.

    
Brian Agnew 02.04.2009, 07:48
quelle
7

Es ist eigentlich ziemlich einfach. Machen Sie Ihre Objekte serialisierbar und erstellen Sie einen ObjectOutputStream und ObjectInputStream, die mit einem beliebigen zugrunde liegenden Stream verbunden sind, sagen wir FileInputStream, etc. Dann schreiben Sie einfach () das Objekt, das Sie wollen, in den Stream und lesen Sie es auf der anderen Seite >

Heres ein Beispiel für Sie.

    
John Ellinwood 02.04.2009 01:47
quelle
5

Java bietet (binäre) Objektserialisierung mit dem ObjectOutputStream (und ObjectInputStream ). Sie können writeObject () einfach in den Stream schreiben und readObject () am anderen Ende. Alles, was Sie dafür tun müssen, ist die Implementierung der Serializable-Schnittstelle.

Aber anstatt das manuell zu tun, könnten Sie daran interessiert sein, eine Ebene höher zu gehen und zu verwenden Remote-Methodenaufruf Mit RMI können Sie Methoden für Objekte aufrufen, die in einer anderen JVM enthalten sind, und die gesamte Serialisierung und Vernetzung geschieht unter der Haube.

Und der Vollständigkeit halber gibt es auch XML-Bean-Serialisierung , wenn Sie das tun kann das Binärformat nicht verwenden. Dieses XML-Format ist sehr allgemein (lese: ausführlich und hässlich), aber es gibt einige populäre Bibliotheken (wie XStream ), die alternative XML-Serialisierungen erstellen .

    
Thilo 02.04.2009 01:55
quelle
2

Sie können Objektströme mit der Java API erzeugen und jedes serialisierbare Objekt senden. aber Sie müssen sich darüber im Klaren sein, dass diese unverschlüsselt durch das Netzwerk gehen:

auf der Senderseite:

%Vor%

und auf der Empfängerseite:

%Vor%     
Prashant Gautam 02.09.2015 10:24
quelle