首先,我有一個擴展AsyncTask的類。然後在doInBackground()方法中,我有一些發佈HTTP POST消息的代碼,並獲得響應。Android getInputStream()不檢索所有字節,但只是零星地檢索
DataInputStream dis = new DataInputStream(conn.getInputStream());
byte[] data = new byte[32768];
len = dis.read(data, 0, 32768);
if (len > 0)
{
response = new String(data, 0, len);
}
此時,反應應該是4127個字節(由服務器證實):此反應如下被讀入的字符串。它的1/5時間是4127字節。時間的2/5是1205個字節,時間的2/5是3853個字節。我可以關閉應用程序,重新安裝,並獲得相同的變化。
管理服務器的人會記錄所有內容,並且可以確認相同的數據一遍又一遍地被髮送。但Android並沒有獲得全流。這是無線的,不是3G。當我使用調試器時,我可以看到返回的字符串總是相同的,只是在隨機點切斷。
對不起,這樣的模糊(愚蠢嗎?)的問題,但我一直在看這幾個小時,我看不出有什麼地方錯了...
非常感謝! – Paul 2011-05-06 13:04:05