Здравствуйте, Donz, Вы писали:
D>Увеличить интервал пинга.
Это невозможно, т.к. если суть системы такова, что если сервер остается без связи с мобильным телефоном более чем на минуту, это критическая ситуация и надо срочно бежать смотреть, что там с девайсом.
A>>Вопрос1: как уменьшить объем трафика, если приложению нужно всего лишь отправить 2 раза в минуту один числовой идентификатор, а получать вообще ничего не надо? Почему сейчас все равно какие-то байты получаются, если я ничего не читаю из потока? (см. код ниже)
D>Ты используешь достаточно высокоуровневый протокол. Есть же и служебные данные: запросы на коннект, подтверждение получения пакета и т.д. Кстати, как смотришь конкретные данные на запрос, через счетчик самого телефона?
Смотрю через счетчик телефона. Хочется по-минимуму передавать эти служебные данные. Можно это как-нибудь подправить?
D>Ответ напрашивается сам собой — не закрывать соединение с сервером. Если для своего сервера это невозможно, то найти какой-нибудь надежный в плане постоянного соединения сервер в интернете. Та же аська, джаббер, например.
Сервер свой, выделенный, с этим проблем нет. Вопрос, насколько это архитектурно правильно: открыть коннект и постоянно его держать открытым, но, видимо, так и придется.
D>До 300 Кб — это какой Мегафон округляет? Ты вроде из Москвы, тут округление до 100 Кб. Как вариант — подключить соответствующий тариф, заточенный на интернет, или подключить GPRS-пакет. И в том, и в другом случае округление будет до 1 Кб.
Да, вроде бы до 100Кб, хотя где-то я видел приписку про 300, видимо, ошибся. Насчет пакетов — это понятно. Это, скажем так, уже второй этап оптимизации — со стороны юзера.