Из того, что я понял после некоторого чтения, BufferedReader - плохой способ чтения inputStreams из http-поста. Что я испытывал, так это то, что клиент, создавший сообщение, зависал и так, что поток обработчика соединения в каждом сообщении, когда я убивал клиента, сервер переставал зависать, и я видел тело сообщения. Из того, что я собрал в интернете, лучший способ прочитать входной поток - это пройти по нему побайтово и выйти из цикла после суммы байтов == значение длины содержимого.
Тем не менее, я планирую использовать Apache HTTPCore вместо этого, чтобы справиться с этим, поскольку это кажется лучшим решением