Bluetooth Dateiübertragung Android

8

Ich habe ein Problem beim Senden großer Dateien über Bluetooth-Sockets. Kleinere Dateien werden korrekt übertragen. Ich glaube, bis zu 161280 Bytes werden korrekt übertragen.

BEARBEITEN: Ich habe noch mehr Tests durchgeführt und die Ursache eingegrenzt. Es scheint, dass

%Vor%

im sendenden Codeteil schreibt NICHT mehr als 161280 Bytes. Ich habe dieses Verhalten gesehen, indem ich die Socket-Verbindung nicht geschlossen habe, wodurch die read im empfangenden Teil auf 161280 Bytes "blockiert" hat. Was stimmt hier mit dem Bluetooth-Ausgangsstrom nicht? Was mache ich falsch?

EDIT 2: Dadurch wird es durch.

%Vor%

Sendecode:

%Vor%

Empfangscode:

%Vor%

Logcat:

%Vor%

Ich verwende Motorola Milestone. Android 2.1

    
shiraz 17.03.2012, 07:36
quelle

1 Antwort

2

Ich konnte dieses Problem lösen, indem ich kleine Datenblöcke an den Bluetooth-Outstream sendete. Es stellte sich heraus, dass 8 * 1024 eine gute Puffergröße war, was dazu beitrug, Daten nahtlos über den Stream zu senden und eine Beschädigung von Daten auf der Empfängerseite zu verhindern.

%Vor%     
shiraz 17.03.2012, 14:13
quelle