Во-первых, у меня есть класс, который расширяет AsyncTask. Затем в методе doInBackground () у меня есть некоторый код, который отправляет сообщение HTTP и получает ответ. Этот ответ читается в строку следующим образом:
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. Когда я использую отладчик, я вижу, что возвращаемая строка всегда идентична, просто отрубленная в случайном месте.
Извините за такой расплывчатый (глупый?) Вопрос, но я смотрю на это часами и не вижу, что с ним не так ...