クライアントからデータを読み取るために、ソケットチャネルと NIO の概念を使用しています。
ファイルの読み取りが完了したことをソケット チャネルはどのように認識しますか?
ByteBuffer byteBuffer = ByteBuffer.allocate(BUFSIZE);
int nbytes = socketChannel.getChannel().read(byteBuffer);
データが小さい場合は一度にデータを読み取っていますが、データが大きい場合は、データを断片的に読み取って最終的に同じデータを取得します。チャネルがデータの終わりをどのように理解しているかを知りたいです。
ファイルの読み込みがいつ完了したかを知る方法はありますか?