以下の 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.read()
実行時間が長すぎて、データが返されません。
この状況をどのように処理しますか?
ありがとう。