如何通过套接字连接发送大图像?

时间:2018-09-29 04:06:45

标签: android sockets 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更改为位图,并尝试从位图在imageView对象上设置图像。

0 个答案:

没有答案