Java-Serialisierung über Netzwerk
Wollen einfach nur wissen, ob es eine Anleitung oder ein how-to für das serialisieren von Objekten, setzen Sie in einen stream über das Netzwerk, und deserialisiert es auf der anderen Seite. Ich verstehe die Prinzipien der Serialisierung, I/O, streams, sockets und so weiter, ich möchte nur ein Beispiel für ein client sendet ein Objekt an einen server zu starten mit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese (pdf) ist ein nützliches tutorial führt Sie durch die Grundlagen serialisieren und Steckdosen, dann Banden die zwei Konzepte zusammen (etwa auf halbem Weg durch die Folien) zeigen, wie serialise ein Objekt aus und senden Sie es vom client zum server (kein RMI). Ich denke, das ist genau das, was Sie wollen.
Seine ziemlich einfach, eigentlich. Einfach machen, Ihre Objekte serialisierbar sind, und erstellen Sie einen ObjectOutputStream und ObjectInputStream, die damit verbunden sind, was auch immer zugrunde liegenden stream, den du haben, sagen, FileInputStream, etc. Dann schreiben Sie einfach (), was Sie wollen Objekt in den stream und Lesen Sie es auf der anderen Seite.
Heres ein Beispiel für Sie.
Java bietet (binäre) Objekt-Serialisierung mit dem ObjectOutputStream (und ObjectInputStream). Sie können nur writeObject() in den stream und readObject() am anderen Ende.
Alles, was Sie tun müssen, um für diese zu arbeiten ist die Implementierung der Serializable-Schnittstelle.
Aber anstatt zu tun, die manuell, die Sie interessieren können genommen, es eine Ebene höher und mit Remote Method Invocation. Mit RMI können Sie zum aufrufen von Methoden für Objekte, die Leben in einer anderen JVM, und alle die Serialisierung und Vernetzung passiert unter der Haube.
Und der Vollständigkeit halber, es gibt auch XML-bean-Serialisierung, wenn Sie nicht mit dem Binär-format. Das XML format ist sehr allgemein (Lesen: ausführlich und hässlich), aber es gibt einige populäre Bibliotheken (wie XStream), das alternative erzeugen von XML-serialisierungen.
können Sie erstellen, die Objekt-streams mithilfe der java-api und senden Sie alle serializable Objekt. aber Sie haben zu beachten, dass diese gehen unverschlüsselt über das Netzwerk:
auf den Absender:
und auf dem empfangenden Ende: