Как уменьшить объем траффика?
Здравствуйте!
Есть приложение, которое должно постоянно работать. Для проверки работоспособности 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){
}
Заранее благодарю за ответы.