Массив байтов, а не размер, который ".length" говорит, что это
Итак, у меня есть программа cient-сервера (java) для трансляции экрана сервера клиенту. Я конвертирую изображение в байтовый массив и отправляю его клиенту. У меня возникли проблемы с отправкой нескольких байтовых массивов, так как после того, как первый был отправлен и получен клиентом, я получаю ошибки для второго байтового массива. На стороне сервера у меня есть код:
imageInByte=baos.toByteArray();
outToClient.writeInt(imageInByte.length);
System.out.println(Integer.toString(imageInByte.length));
Это сообщает клиенту размер входящего массива байтов. На клиенте у меня есть код:
int c = inFromServer.readInt();
System.out.println(Integer.toString(c));
Это все хорошо, и размер, который оценивается на сервере, равен размеру, который клиент получает и печатает, но когда я действительно пытаюсь записать байтовый массив в dataoutputstream, байтовый массив, который получает клиент, не похож на что-либо ".. длина "оценивается.
Например, первый байтовый массив называется 118207(без отправки фактического байтового массива.
Затем, когда я пытаюсь отправить первый байтовый массив клиенту, клиент получает его как 118207.
Второй, который без попытки фактической записи массива был 126205, но когда я пытаюсь записать объект, размер -2555936
Третий должен быть 125709, но выходит на клиенте как 1229324289 байт.
Это сводит меня с ума, и у меня должен быть проект в следующий четверг, и я не могу продолжать, не разбираясь с этим. Любая помощь будет принята с благодарностью, и если это странное расположение или вы не понимаете меня, просто задавайте вопросы. Спасибо.