Как отправить поверх большого изображения через сокет соединение? - PullRequest
0 голосов
/ 29 сентября 2018

Мне удалось использовать отправку по небольшой строке через соединение Bluetooth с помощью Bluetooth API , проблема, с которой я сталкиваюсь, это отправка поверх большого изображения.

В настоящее время в качествеклиент Я отправляю код через сокет с использованием базового API сокета

mmOutStream.write("HEY IM A STRING".getBytes());

Я буду отправлять поверх изображения, которое я изменил на байтовый массив.Когда я получил байтовый массив, я знаю, что реализовал его правильно, так как получение строки будет печататься правильно.

        mmBuffer = new byte[100000];
        int numBytes; // bytes returned from read()
        while (true) { // TODO REMOVE TRUE
            try {
                // read from inputStream
                numBytes = mmInStream.read(mmBuffer);

                System.out.println("-------------------------------------------------WE RECEIVED");
                System.out.println(numBytes);
                byte[] received = Arrays.copyOfRange(mmBuffer, 0, numBytes + 1);
                //byteArrayToBitMap(received);
                System.out.println(new String(received));

            } catch (IOException e) {
                break;
            }
        }
    }

Проблема заключается в том, что когда я отправляю большое изображение, сервер получаетих в 990 байтовых кусках, которые я отладил из простого чтения выходных данных System.out.println(numBytes);.Что мне делать в этом случае, когда мне нужно отправить что-то большое?Изображение, которое я отправляю, преобразуется в массив byteArray из растрового изображения.Следовательно, byteArrayToBitmap закомментировано в настоящее время, но метод изменяет byteArray на Bitmap и пытается установить изображение для объекта imageView из битовой карты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...