Цель-C: Лучший способ упаковать содержимое файла для передачи по Bluetooth? - PullRequest
0 голосов
/ 09 марта 2011

В моей программе я отправляю файл через соединение RFCOMM с сопряженным устройством Bluetooth.У меня проблема с тем, что принимающая сторона записывает полученные байты в файл.Однако принимающая сторона не может быть причиной проблемы.Это может быть способ, которым я загружаю и отправляю данные изначально в Objective-C.Итак, мой вопрос здесь заключается в том, является ли мой метод загрузки и передачи данных файла в виде байтов через соединение RFCOMM приемлемым. Я пытаюсь избежать публикации большого количества кода, потому что он действительно просто попадет впуть. Я просто хотел бы знать, нормально ли загружать данные файла в массив, как у меня для передачи, или есть ли лучший способ упаковки данных?

Спасибозаранее.

Вовлеченные типы данных
IOBluetoothRFCOMMКанальный канал
NSData myData

Загрузить код файла Фрагмент

// Load file data into byte array.
myData = [NSData dataWithContentsOfFile: filePath];
int bytes[(int)fileSize];
[myData getBytes:bytes length:sizeof(int) * fileSize];

Фрагмент кода для передачи файла данных

// Loops create an int[] chunk array that holds an amount of data from bytes[].
// These chunks (packets) are sent using...
[channel writeSync: chunk length: 1000]; // Sends the packet.

1 Ответ

0 голосов
/ 10 марта 2011

Вам необходимо использовать методы Archives или Serialization, чтобы преобразовать байтовые потоки в независимый от архитектуры поток данных, а затем отправить его по каналу RFCOMM, а на принимающей стороне преобразовать его обратно. Смотрите здесь

...