2011-07-20 11 views
1

私は、ソケットが開いているAndroidアプリを持っています。私はこのソケットに書き込みのスレッドをブロックする可能性がなく、かなりの時間をかけて書き込みたいと思っています。 IOエラーが発生した場合は、書き込みが黙って失敗するようにしたいと思います。これを行う簡単な方法はありますか?Androidでソケットにノンブロッキング書き込み

+3

は、別のスレッドに書き込みを行いますか? – MByD

+0

@MByD:うん。いいえ。スレッドは、ノンブロッキングI/Oの代替物ではありません。 –

+0

@Chris Jester-Youngそれはなぜですか?あなたはいくつかを詳述できますか? –

答えて

3

はい、NIOは、あなたが非ブロックモードを使用するようにconfigureBlockingを呼び出すことができますSocketChannelクラスを(あなたのSocketgetChannelメソッドを呼び出す)、用意されています。その後、Socketオブジェクトではなく、チャネルを通じてすべてのI/Oを実行する必要があります。あなたはNIOを見て検討する必要があります

2
+0

- 1 SCITE。あなたの答えが間違っているからではありませんが、それは私の答えより少ない情報を提供し、3分遅れで掲示されているからです。 –

+0

私はそれがjava.nioパッケージへのリンクを持つのがまだ便利だと思った。 – lacker

+0

Chris Jester-Young - 私は実際にあなたの前で私の答えを調べ始めました。 「スピード」は必ずしも美徳ではなく、「急いで」は最も確かに悪です。 – paulsm4

関連する問題