★★Java質問・相談スレッド140★★
■ このスレッドは過去ログ倉庫に格納されています
0034デフォルトの名無しさん
2010/07/23(金) 15:33:16クライアントがサーバにファイルをアップロードすると、
サーバは接続済みの全てのクライアントにそのファイルを流す。
これを実現するためのサーバ側のコードで悩んでいます。
まずアップロードされたファイルを受け取るためにソケットからinputStreamを取得しますが、
これを各ソケットのoutputStreamに流す時に、どのように実装すればいいのか分かりません。
一つのinputStreamをfor文で複数のoutputStreamに流そうとしても、最初のoutputStreamにしか流せないようです。
これはinputStreamが内部でどこまでデータを取り出したかを管理(?)してるからでしょうか。
他の案としては、一時的なファイルを作ってしまってそのファイルを複数のソケットが読めばできそうですが
どう考えても良いやり方とは思えません。
結局、巨大なbyte配列で一時的にデータを溜めるぐらいしか思いつきません。
何かよい方法は無いでしょうか。
■ このスレッドは過去ログ倉庫に格納されています