我需要以编程方式将 1 到 100 MB 的数据以 1024 字节的块写入远程蓝牙设备。两者都是安卓设备。这是我的客户端程序中用于传输数据的示例代码片段 –</p>
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();
在 Android 2.2(Froyo) 上运行这段代码时,它运行良好。然而,在 Android 2.3.4 和 4.0.4 的情况下,outStream.write(buffer) 在传输一些数据(比如 100 KB)后会无限阻塞。值得一提的是,远程设备未配置为监听数据。可以写入的数据量有什么限制吗?