Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java ME (J2ME) > Как уменьшить объем траффика? |
Автор: McManaman 30.6.2009, 15:51 | ||
Здравствуйте! Есть приложение, которое должно постоянно работать. Для проверки работоспособности 24/7/365 приложение каждые 30 секунд отправляет свой идентификатор серверу. Проблема 1: приложение потребляет много трафика. Каждый запрос это в среднем 360 байт отправленных и 160 байт полученной информации. В сумме 520 байт за запрос. Т.е. в минуту 1кб, в час 60кб, в день , 1.4Мб, в месяц 43мб, что при средней цене 7 руб за мб получается 300 руб. Вопрос1: как уменьшить объем трафика, если приложению нужно всего лишь отправить 2 раза в минуту один числовой идентификатор, а получать вообще ничего не надо? Почему сейчас все равно какие-то байты получаются, если я ничего не читаю из потока? (см. код ниже) Вопрос2: в эту паузу (30 сек) телефон по ходу дела закрывает интернет-сессию (на моем сонэрике исчезает значок глобусика), поэтому мегафон тарифицирует это одно соединение и округляет сразу до 300 кб. Этого не происходит, если интервал между запросами уменьшить, например, до 5 секунд, но тогда резко возрастает трафик и потребление аккаумулятора. Вопрос, как заставить телефон не закрывать сессию соединения с телефоном? Использую следующий код:
Заранее благодарю за ответы. |
Автор: W0LF 30.6.2009, 16:23 |
1. Убрать "ID:", айдишник можно слать в байтовом представлении, можно бить вплоть до битов, оперировать битовыми операциями а не из строки брать байты. 2. Посмотрите пример в WTk/apps. там есть пример с сокетами. Ваша проблема в том, что Вы каждый раз создаете сокет соединение, а Вам его нужно держать |