メッセージインスタンスをObjectOutputStream
に書き込むことができます。
すべてのフィールドがシリアル化されたクラスを定義し、 はBufferedImage
をバイト表現で格納します。あなたはこの方法で出力ストリームにメッセージを書き込むことができ、サーバ側から
:
OutputStream outputStreamServer = ...;
byte[] bufferedImage = ...
Message message = new Message(bufferedImage, name, ...);
ObjectOutputStream ObjectOS = new ObjectOutputStream(outputStreamServer);
ObjectOS.writeObject(message);
このように、クライアント側から、あなたはObjectInputStream
を使用して、サーバーストリームを読んでもらうことができますMessage
インスタンス。
そして、ときに、クライアントの希望、彼はBufferedImage
にバイトをアンシリアライズすることができます
ObjectInputStream ObjectIS = new ObjectInputStream (inputStreamClient);
Message message = (Message) ObjectIS.readObject();
...
// where unserializeBufferedImage() is a custom method to do the unserialization
BufferedImage image = message.unserializeBufferedImage();
[何Androidに、Javaから(スイングと互換性のある)イメージをシリアル化するための最良の方法です?](HTTPの可能性のある重複: //stackoverflow.com/questions/9994129/what-is-the-best-way-to-serialize-an-image-compatible-with-swing-from-java-to) –