そこで、ソケットを使用して、画像を取得し、すぐにリモート コンピューターに送信するアプリケーションを作成しています。
OutputStream mStream;
mStream = mySocket.getOutputStream();
/* filling header/bmbytes*/
mStream.write(header);
mStream.write(BitmapBytes);
mStream.flush(); //not working?
/*try {
wait(2000);
} catch (InterruptedException e) {
}*/
mStream.close();
書き込み機能は、最後の数キロバイトまで完全に機能します。ランダムな量のデータは送信されません (300 kb の約 295 kb が適切です)。私が読んだように、すべてのデータをバッファリングするまでブロックするためですが、データが実際に送信されるかどうかを気にしないように見えるため、 mStream.close() が呼び出されるのが早すぎます。待機セクションのコメントを外すと、完全に機能しますが、毎秒複数回呼び出す必要がある場合があり、(接続によっては) まだ信頼性が低いため、close() を適切に呼び出す別の方法が必要です。フラッシュは何もしないようです。私はそれを間違って使用していますか?どんなアイデアでも大歓迎です。ありがとう。