【发布时间】:2012-09-03 11:51:27
【问题描述】:
我需要以编程方式将 1 到 100 MB 的数据以 1024 字节的块写入远程蓝牙设备。两者都是安卓设备。这是我的客户端程序中用于传输数据的示例代码 sn-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)后会无限阻塞。值得一提的是,远程设备未配置为监听数据。可写入的数据量是否有限制?
【问题讨论】:
-
你是说对方没有从socket读取数据?
-
准确地说,服务器未配置为通过流读取数据。
标签: android sockets bluetooth outputstream