Как прочитать все Inputstream в серверном сокете JAVA

Я использую Java.net в одном из моих проектов. и я написал сервер приложений, который получает inputStream от клиента. Но иногда мой (буферизованный) InputStream не может получить весь OutputStream, который клиент отправил на мой сервер. Как я могу написать ожидание или что-то в этом роде, чтобы мой InputStream получил весь OutputStream клиента?

(Мой InputStream не является строкой)

private Socket clientSocket;
private ServerSocket server;
private BufferedOutputStream outputS;
private BufferedInputStream inputS;
private InputStream inBS;
private OutputStream outBS;

server = new ServerSocket(30501, 100);
clientSocket = server.accept();

public void getStreamFromClient()  {
    try {
        outBS = clientSocket.getOutputStream();
        outputS = new BufferedOutputStream( outBS);
        outputS.flush();

        inBS = clientSocket.getInputStream();
        inputS = new BufferedInputStream( inBS );

    } catch (Exception e) {
        e.printStackTrace();
    }
}

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос