SocketChannel sockChannel = SocketChannel.open();
sockChannel.configureBlocking(false);
sockChannel.connect(new InetSocketAddress(remoteAddr, remotePort));
Android バージョン 2.3.4 および 3.2.1 では、接続に 30 ミリ秒から 50 ミリ秒、場合によっては 100 ミリ秒以上かかります。2 つのハードウェアでいくつかのテストを実行しましたが、常に遅いです。非ブロッキングであるため、2〜3ミリ秒もかからないことを望んでいました。
これは既知の問題ですか? Selector を使用して、SelectionKey.OP_CONNECT の数十の SocketChannel を選択しています。この場合、Selector.select は 100 ミリ秒のタイムアウトを使用しますが、全体の所要時間は 1 秒を超えます。これは主に SocketChannel.connect が原因です。SocketChannel.connect の問題を回避し、100 ミリ秒でセレクターを終了するための代替手段はありますか。
ありがとうアレックス