Слишком долго отправлять объект json с iphone на сервлет java - PullRequest
0 голосов
/ 18 января 2012

Мы разрабатываем приложение для iphone, которое отправляет строки местоположений json, в которых пользователь находился, в веб-приложение (JAVA), развернутое на движке приложений Google.Мы используем htpp запросы для отправки этих строк.Наша проблема в том, что строки иногда бывают большими, а это занимает слишком много времени.Есть ли другой метод?

Ответы [ 2 ]

1 голос
/ 18 января 2012

Вы можете сжать свой JSON.Это кусок кода для GAE:

JSONObject json = new JSONObject(uncompress(Base64.decode(encodedJSONData)));

Это метод распаковки:

protected String uncompress(byte[] compressedData) throws IOException {
    StringBuffer data = new StringBuffer();
    GZIPInputStream stream = new GZIPInputStream(new ByteArrayInputStream(compressedData));
    BufferedReader br = new BufferedReader(new InputStreamReader(stream));
    String line;
    while ((line = br.readLine()) != null) {
        data.append(line);
    }
    return data.toString();
}
0 голосов
/ 18 января 2012

Если ваша система отправляет коллекцию местоположений, попробуйте не отправлять их все одновременно, а разбить всю коллекцию на маленькие блоки, размер которых, по вашим оценкам, не займет слишком много времени.

Другая идея: если вы выполняете эту отправку как фоновый процесс, основной процесс (как в пользовательском интерфейсе) не должен наказываться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...