首先,我有一个扩展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