クライアントソケットからデータを送受信するためのコードを作成しました。データの送信手順は正常に完了しましたが、ソケットからデータを読み取りたい場合、読み取るデータreadLine()
がないときにメソッドブロックプログラムを実行します。
これは私のコードです:
StringBuffer document = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
document.append(line + "\n");
reader.close()
すべての受信データを読み取ることができますが、readLineまたはread(byte []、int、int)メソッドは、読み取るデータがない場合にプログラムをブロックしますが、このメソッドはこの時点でnull/-1を返す必要があります。