Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Leon_AD
103 / 103 / 51
Регистрация: 11.04.2014
Сообщений: 160
1

Получение сообщений от сервера без запроса

11.02.2017, 12:31. Просмотров 502. Ответов 7

Среди существующих тем не нашёл ответа на свой вопрос, поэтому решил задать сам.
Попытаюсь объяснить, что я имел в виду.
Пишу мобильное приложение для сбора информации с датчиков и управления устройствами.
В общем, есть мобильное приложение на Android, на ПК стоит сервер Apache+MySQL+php. Мобильное приложение обращается к php-скрипту, получает ответ.

А теперь вопрос, который не даёт мне покоя: как поступить, чтобы отслеживать изменение параметров устройств.
Вариант 1: опрашивать сервер через определённые промежутки времени. Думаю, многие понимают, что это не практично, т.к. будет сильно расходоваться заряд батареи и трафик.
Вариант 2: push notification. Схема взаимодействия, насколько я понял, там следующая: Device - Notification server(Google Cloud Messaging) - Your server. Сфера применения, как я понял, тут немного другая.
Вариант 3: использование сокетов. Я представляю, как написать простенький чат на сокетах, но как переделать своё приложение пока не представляю.

Возможно, кто-то уже с этим сталкивался и может подсказать.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2017, 12:31
Ответы с готовыми решениями:

Отправка и получение данных (запроса) из сервера
Помогите пожалуйста! Мне нужно отправить данные на сервер, желательно чтобы и в ответ сервер что-то...

Получение сообщений от сервера к клиенту
Всем привет.Не могу решить проблему передачи от сервера к клиенту сообщений,состоящих их нескольких...

Получение сообщений сервера в фоновом режиме
Пишу небольшую программу-чат. Задача следующая - создать функцию, которая будет слушать и...

Indy в Delphi XE8 - получение сообщений от сервера
Доброго дня всем! впервые прошу помощи на форуме по программирования, до этого как-то сам...

Вывод сообщений от сервера, в пределах одного ajax-запроса
Есть страница с формой отправки файла, этот файл отправляется на сервер где с ним могут...

7
ExFau$t
913 / 726 / 213
Регистрация: 08.05.2012
Сообщений: 3,508
11.02.2017, 12:38 2
Цитата Сообщение от Leon_AD Посмотреть сообщение
как поступить, чтобы отслеживать изменение параметров устройств.
В реальном времени нужно отслеживать? И что за параметры?

Добавлено через 52 секунды
Я на практике использую файл-лог, пишу туда в удобном виде, раз в сутки посылаю на сервер.
0
Leon_AD
103 / 103 / 51
Регистрация: 11.04.2014
Сообщений: 160
11.02.2017, 13:15  [ТС] 3
Цитата Сообщение от ExFau$t Посмотреть сообщение
В реальном времени нужно отслеживать? И что за параметры?
Желательно в реальном. Такие параметры как текущая температура, влажность, вкл/откл устройство, мощность и др.
Цитата Сообщение от ExFau$t Посмотреть сообщение
Я на практике использую файл-лог, пишу туда в удобном виде, раз в сутки посылаю на сервер.
Этот лог в приложении ведёте? Т.е. приложение раз в сутки с сервером связывается и отсылает лог?
0
ExFau$t
913 / 726 / 213
Регистрация: 08.05.2012
Сообщений: 3,508
11.02.2017, 13:28 4
Цитата Сообщение от Leon_AD Посмотреть сообщение
Т.е. приложение раз в сутки с сервером связывается и отсылает лог?
Именно, там указана привязка ко времени и прочие данные, так что довольно просто установить, что и когда происходило.

Добавлено через 1 минуту
Ты можешь и другой интервал выбрать, скажем каждую минуту, но пока я задачу не знаю, мне кажется это лишнее.
0
11.02.2017, 13:28
Leon_AD
103 / 103 / 51
Регистрация: 11.04.2014
Сообщений: 160
11.02.2017, 14:11  [ТС] 5
Цитата Сообщение от ExFau$t Посмотреть сообщение
Ты можешь и другой интервал выбрать, скажем каждую минуту, но пока я задачу не знаю, мне кажется это лишнее.
От простого опроса я и стараюсь уйти, т.к. изменения могут происходить как раз в секунду, так и раз в час.
Пример: в помещении температура 10 градусов. Я оправляю команду установки температуры на уровне 30 градусов. Далее температура начинает подниматься и я должен видеть как она меняется (текущее значение).
0
ExFau$t
913 / 726 / 213
Регистрация: 08.05.2012
Сообщений: 3,508
11.02.2017, 14:19 6
Leon_AD, ну ты хочешь видеть незамедлительно и просто статистику? Если сразу, то собирай лог о изменении температуры и по окончанию процесса посылай на сервер, как отчёт о выполненном задании.

Добавлено через 1 минуту
правда если команда может придти в любое время, то надо организовывать слушателя, наподобие пуш уведомлений.
0
zoleg
42 / 40 / 7
Регистрация: 10.01.2012
Сообщений: 385
12.02.2017, 19:35 7
Ставим жабу, цепляемся с одного конца клиентом, с другого сервером, и получаем свой Cloud Messaging. Естествено то что мы называем сервером, на самом деле еще один клиент по отношению к жаберу.
0
Leon_AD
103 / 103 / 51
Регистрация: 11.04.2014
Сообщений: 160
13.02.2017, 19:48  [ТС] 8
Цитата Сообщение от zoleg Посмотреть сообщение
Ставим жабу, цепляемся с одного конца клиентом, с другого сервером, и получаем свой Cloud Messaging.
Можно по-подробнее, что такое "жабер"? Не "Jabber"?
0
13.02.2017, 19:48
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2017, 19:48

Сокеты. Отправка GET-запроса по HTTPS и получение ответа от сервера
Использую сокеты для отправки GET-запроса и получения HTML-кода запрашиваемой страницы. Все красиво...

как сделать подгрузку сообщений с сервера без перезагрузки страницы
собственно сабж есть табличка messages: id|author|poluchatel|date|text сообщения я загружаю на...

Получение сообщений от триггеров
Здравствуйте!!! Работаю с бд Oracle через C++Builder технология доступа ADO/odbc допустим в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.