Java 代码如下:
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
public class Test {
public static void main(String[] args) throws IOException {
SocketChannel channel = SocketChannel.open(new InetSocketAddress(
"google.com", 80));
ByteBuffer buffer = ByteBuffer.allocate(1024);
while ((channel.read(buffer)) != -1) {
buffer.clear();
}
channel.close();
}
}
这段代码很简单。
但是我没有向 Channel 写入任何数据,因此它不包含任何要读取的数据。
在这种情况下,方法channel.read()
执行时间过长并且不返回任何数据。
我该如何处理这种情况?
谢谢。