2013-07-02 28 views
5

私はカスタマイズされたハードウェアからデータを送受信するために、Android Bluetoothプロジェクトに取り組んでいます。私は基本としてSDKでBluetooth Chat Sampleを使用しました。AndroidでBluetooth経由でデータを送信する最大パケットサイズは?

あるデバイスから別のデバイス(LG Nexus 4)にデータを送信しています。私は1004バイトの長さに達するまですべてがOKです(オーディオデータです)。その時点で、ほとんどの場合、990バイトと14バイトの2つのメッセージに分割されます。分割しないで1004回送信する(100回に約4回)こともあります。

私は1004バイトのこのパケットを送信しています。そこには4バイトがあります。私のヘッダと残りの1000バイトは、ヘッダのコマンドごとに使用したい実際のデータです。私は流れを処理することができないよりも。

パケットがこのように分割されている理由を教えてください。どうすればこの分割をやめればいいですか。

ありがとうございました。

+0

最大Bluetoothパケット長は1024バイトです。私はこのリンクがあなたにとって有用だと思います。 http://stackoverflow.com/questions/9748219/bluetooth-file-transfer-android –

答えて

1

Bluetoothソケット経由で送信されたデータは、ストリームとして抽象化されます。ここで、トランスポート層はパケットに分割され、パケットのサイズはほぼ1KB(1000バイト)になります。だから、ヘッダーにメッセージの長さ情報を送ることができる仕組みを工夫することができます。受信側では、後でread()コールを作成する必要があります。各パケットは1パケット分のデータを返す。

関連する問題