SocketChannel sockChannel = SocketChannel.open();
sockChannel.configureBlocking(false);
sockChannel.connect(new InetSocketAddress(remoteAddr, remotePort));
在 Android 版本 2.3.4 和 3.2.1 上,连接需要 30 毫秒到 50 毫秒,有时甚至超过 100 毫秒。我已经在两个硬件上执行了几次测试,它总是那么慢。我希望它需要不到 2-3 毫秒,因为它是非阻塞的。
这是一个已知的问题 ?我正在使用 Selector 为 SelectionKey.OP_CONNECT 选择 10 多个 SocketChannel。在这种情况下,Selector.select 使用 100 毫秒的超时,但总时间超过 1 秒,这主要是因为 SocketChannel.connect。是否有任何替代方法可以避免 SocketChannel.connect 的问题,并且仍然可以在 100 毫秒内完成选择器。
谢谢亚历克斯