2012-01-09 16 views
1

Javaではあまりよくありません。私はTCPソケットを通してBufferedImageを送信する必要があります。私はすでに接続(そして文字列の送信)を行っていましたが、BufferedImageを送信して回復するためにどのWriterを使用するべきかを実際に知ることはできませんでした。Java - TCPソケット経由でBufferedImageを転送する

+2

[Javaのソケットを介してスクリーンショット(bufferedImage)を送信する]の可能な複製](http://stackoverflow.com/questions/6973848/sending-a-screenshot-bufferedimage-over-a-socket-in-java) – Kiril

+0

検索中にその1つを見つけられなかった、ありがとう! –

答えて

4

画像をバイトストリームとしてシリアル化するには、何らかの形式(PNG、JPGなど)を使用する必要があります。

次に、バイトストリームをワイヤで送信する必要があります。ここでの難しさは、先のストリームのサイズを知らないことです。シンプルなソリューションは、すべてのコンテンツをメモリ内のバイト配列に保存し(ByteArrayOutputStreamを使用して)、送信します。または、メモリに収まらない場合は、スマート(一時ファイルに保存するか、一部のチャンク付きプロトコルを使用するか、固有のターミネータマークを送信する)を行う必要があります。

+0

サンプルコードはgr8 – Arin

+0

@Arinです。実装方法はとてもたくさんあります。したがって、最終的なサンプルを見つけるのは難しいです。ほとんどの場合、未処理のTCPを使用しない方が良いですが、 HTTP:http://stackoverflow.com/questions/2438375/how-to-convert-bufferedimage-to-image-to-display-on-jsp – kan

+0

@Arinここでは、メモリ内ストレージの例を示します。http:///stackoverflow.com/a/4944536/438742 – kan

関連する問題