Эффективный способ отправки данных с устройства Android на веб-сервер Apache - PullRequest
1 голос
/ 31 декабря 2011

Я хочу отправить данные датчика с устройства Android на веб-сервер Apache.Датчик подключен к устройству Android с помощью платы IOIO и выполняется регулярная выборка.

Необработанные данные датчика составляют примерно 1 байт / секунду, и я пытаюсь найтиэффективный способ отправить это на веб-сервер, основанный на Apache и поддерживающий PHP и ASP (я думаю, ChiliASP).

Чтобы иметь низкую ежемесячную стоимость, я хотел бы использовать предоплатумобильная подписка, и они обычно имеют фиксированный максимальный предел данных (что-то вроде 500 МБ / месяц).

Поскольку датчик должен отправлять данные 24/7, я хотел бы сохранить необходимый трафик данных на минимуме.Даже если объем данных не очень велик, я думаю, что могут возникнуть проблемы с заголовками протоколов.Если каждая выборка (1 байт) отправляется отдельно, соотношение накладных расходов и полезной нагрузки будет очень низким.Решение, конечно, объединить некоторые данные и отправить их большими кусками.

Я успешно протестировал Java HttpURLConnection для отправки данных с использованием HTTP POST и у меня есть несколько вопросов по этому поводу:

  1. Насколько велики издержки из-за заголовков HTTP?Есть ли какой-нибудь простой способ измерить его?
  2. Есть ли какой-нибудь другой протокол, поддерживаемый Android и Apache, который я мог бы рассмотреть?

1 Ответ

0 голосов
/ 31 декабря 2011

Вы можете использовать простой запрос HTTP GET / POST и отправлять данные в формате json в качестве параметров веб-службе, реализованной на php или любом другом языке по вашему выбору. Я не думаю, что это проще / меньше, чем http get / post и json (если кто-то не может исправить меня). JSON - это отличный, простой и гибкий формат для обмена данными, который намного проще и лаконичнее, чем XML. Разбор JSON доступен изначально на большинстве языков, включая Java, JavaScript и PHP. Это также очень широко используется.

Например, HTTP-запрос на получение запроса не требует больших накладных расходов, кроме длины параметров, которые вы хотите отправить. Вот типичный запрос GET:

GET /pub/WWW/TheProject.php?arg1=foo&arg2=bar HTTP/1.1 

arg1 & arg2 - аргументы, которые я передаю TheProject.php.

...