Код практически идентичен режиму Android USB Accessory. не могу читать/записывать на хост-компьютере с помощью libusb
Однако я получаю скорость передачи данных только около 3,7 МБ/с, что очень медленно. Я хотел использовать USB для большей скорости.
Соответствующая принимающая часть в котлине:
Код: Выделить всё
val fd: FileDescriptor = mFileDescriptor.getFileDescriptor()
mInputStream = FileInputStream(fd)
mOutputStream = FileOutputStream(fd)
val bytes_length: ByteArray = ByteArray(4)
mInputStream.read(bytes_length, 0, 4)
val length = byteArrayToUnsignedInt(bytes_length.toUByteArray()).toInt()
val bytes = ByteArray(length)
val package_size = 16384
val timeTaken = measureTime {
val num_chunks = length / package_size
var offset = 0
for (i: Int in 1..num_chunks) {
val bytes_read = mInputStream.read(bytes, offset, package_size)
offset += bytes_read
}
val remaining = length - offset
mInputStream.read(bytes, offset, remaining)
}
val mb_length = length/1024.0/1024
val bps = mb_length/(timeTaken.inWholeMilliseconds*1e-3)
text_view.append("\nReading: ${mb_length} MB in ${timeTaken.inWholeMilliseconds} ms = ${bps} MB/s")
Подробнее здесь: https://stackoverflow.com/questions/775 ... w-3-7-mb-s