Ich muss Daten von etwa 1 bis 100 MB in Blöcken von 1024 Bytes programmgesteuert auf das Remote-Bluetooth-Gerät schreiben. Beide sind Android-Geräte. Hier ist ein Beispiel-Code-Snippet in meinem Client-Programm zur Übertragung von Daten -Android BluetoothSocket OutputStream schreiben Blöcke unendlich
bTSocket.connect(); //connect to remote BT device
DataOutputStream outStream = new DataOutputStream(bTSocket.getOutputStream());
byte[] buffer = new byte[1024];
int bytesToTransfer = 1000000;
while (bytesToTransfer > 0) {
outStream.write(buffer);
outStream.flush();
bytesToTransfer -= 1024;
}
outStream.close();
Während dieses Stück Code auf Android läuft 2.2 (Froyo), es funktioniert gut. Im Fall von Android 2.3.4 und 4.0.4 blockiert outStream.write (Puffer) jedoch unendlich nach der Übertragung einiger Daten (zB von 100 KB). Erwähnenswert ist, dass das Remote-Gerät nicht für das Abhören von Daten konfiguriert ist. Gibt es Einschränkungen hinsichtlich der Menge an Daten, die geschrieben werden können?
Sie sagen, die andere Seite liest keine Daten aus der Steckdose? –
Genauer gesagt ist der Server nicht konfiguriert, Daten über den Stream zu lesen. –