У меня есть клиент-серверная программа, в которой я использую InputStream
для чтения с socket
(сервер) и OutputStream
для записи в socket
(клиент).Мой сервер переходит в режим сна на 10 секунд каждый раз, когда он читает byte
.С другой стороны, мой клиент пишет в InputStream на полной скорости.
Но я замечаю, что после записи около 555,254 bytes
в OutputStream
клиент блокируется на write
() метод выходного потока.Мой сервер, с другой стороны, продолжает читать 1 byte
через каждые 10 секунд.
Такое поведение возможно, если данные буферизуются на обоих концах.Может кто-нибудь объяснить мне, почему это происходит?Я не использую BufferedInputStream
или BufferedOutputStream
.Почему данные буферизируются?