Java の InputStreamReader read() 関数を使用しています。入力ストリームの最後に到達すると、値が -1 の int 変数に入るはずですが、代わりにブロックされます。入力ストリームの最後に -1 がないのはなぜですか? (実際に入力の終わりであり、接続ソケットが有効であることを確認して、文字ごとにデバッグしました)。
次のようにして、ready() 関数を使用することで適切な解決策が得られます。
if (isr.ready())
currCharVal = isr.read();
前もってありがとう、ガイ。