Java DataInputStream readAllBytes пусто? - PullRequest
0 голосов
/ 01 мая 2020

У меня TCP-клиент и сервер в Java и я хочу отправить байтовый массив с клиента на сервер. Я посылаю байты, используя этот метод:

    public void writeBytes(byte[] message, Socket socket) throws IOException {
        DataOutputStream out = new DataOutputStream(socket.getOutputStream());
        out.write(message);
        out.flush();
    }

Но я не могу получить их методом readAllBytes из DataInputStream / InputStream

    public void readMsg(Socket socket) throws IOException {
        DataInputStream in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
        System.out.println(in.readAllBytes()); //would be empty
    }

Теоретически я может отправить размер байтового массива + сам байтовый массив и прочитать их с помощью метода readFully(size). Это будет работать. Но я хочу понять, почему он не работает с методом readAllBytes.

...