J2ME: как уменьшить трафик?
От: Anvar Россия http://www.exprite.com
Дата: 30.06.09 12:11
Оценка:
Как уменьшить объем траффика?

Здравствуйте!
Есть приложение, которое должно постоянно работать. Для проверки работоспособности 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){
}




Заранее благодарю за ответы.
--
http://www.exprite.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.