Эффективный способ отправки данных с устройства Android на веб-сервер Apache

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

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

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

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

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

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

1 ответ

Решение

Вы можете использовать простой 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.

Другие вопросы по тегам