我需要以編程方式將數據寫入1到100 MB(以1024字節爲單位)到遠程藍牙設備。兩者都是Android設備。這裏是我的客戶端程序的示例代碼段來傳輸數據 - 雖然在Android 2.2(升級Froyo)運行這段代碼Android BluetoothSocket OutputStream無限地寫入塊
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.3.4和4.0.4的情況下,outStream.write(buffer)在傳輸一些數據(例如100 KB)後無限制地阻塞。值得一提的是,遠程設備未配置爲偵聽數據。可以寫入的數據量是否有限制?
你是說對方沒有從套接字讀取數據? –
準確地說,服務器未配置爲通過流讀取數據。 –