Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как уменьшить объем траффика? 
:(
    Опции темы
McManaman
Дата 30.6.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.6.2009

Репутация: нет
Всего: нет



Здравствуйте!

Есть приложение, которое должно постоянно работать. Для проверки работоспособности 24/7/365 приложение каждые 30 секунд отправляет свой идентификатор серверу. 

Проблема 1: приложение потребляет много трафика. Каждый запрос это в среднем 360 байт отправленных и 160 байт полученной информации. В сумме 520 байт за запрос. Т.е. в минуту 1кб, в час 60кб, в день , 1.4Мб, в месяц 43мб, что при средней цене 7 руб за мб получается 300 руб. 

Вопрос1: как уменьшить объем трафика, если приложению нужно всего лишь отправить 2 раза в минуту один числовой идентификатор, а получать вообще ничего не надо? Почему сейчас все равно какие-то байты получаются, если я ничего не читаю из потока? (см. код ниже)

Вопрос2: в эту паузу (30 сек) телефон по ходу дела закрывает интернет-сессию (на моем сонэрике исчезает значок глобусика), поэтому мегафон тарифицирует это одно соединение и округляет сразу до 300 кб. Этого не происходит, если интервал между запросами уменьшить, например, до 5 секунд, но тогда резко возрастает трафик и потребление аккаумулятора. 
Вопрос, как заставить телефон не закрывать сессию соединения с телефоном?


Использую следующий код:
Код

try{
  SocketConnection sc = (SocketConnection) 
    Connector.open("socket://serverurl:serverport");
  OutputStream os = null;
  try{
    os = sc.openOutputStream();
    byte[] data = "ID:27563".getBytes();
    os.write(data);
  } finally{
      sc.close();
      os.close();
  }
} catch (IOException x){
}



Заранее благодарю за ответы.


PM MAIL   Вверх
W0LF
Дата 30.6.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



1. Убрать "ID:", айдишник можно слать в байтовом представлении, можно бить вплоть до битов, оперировать битовыми операциями а не из строки брать байты.
2. Посмотрите пример в WTk/apps. там есть пример с сокетами. Ваша проблема в том, что Вы каждый раз создаете сокет соединение, а Вам его нужно держать


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0608 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.