EOS во входном потоке (read (), возвращающая -1, readLine (), возвращающая ноль, readXXX (), бросающий EOFException для любого другого XXX), является основным механизмом, в противном случае IOException, обычно «сброс соединения». Очень редко вы можете увидеть SocketException. Если вы используете таймауты чтения, то исключение SocketTimeoutException.