Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с сокетами
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Работа с сокетами

Страниц (1): [1]
 

1. Mr_vads - 17 Июня, 2019 - 23:40:01 - перейти к сообщению
Здравствуйте уважаемые программисты! Обращаюсь к Вам за советом с целью решения поставленной мною задачи.

Сразу хочу Вас поставить в известность о своих знаниях касаемо PHP - начальные, ибо я не тревожит Вас и не создавал бы эту тему.

Цель состоит в следующем:
Разработать алгоритм обработки информации с контроллеров(клиентов) на сервере, с последующей записью этой информации в БД (MYSQL). Обмен данными между клиентом и сервером реализован посредством протокола web-socket.

Для общего понимания расскажу как все устроено:
Существует беспроводная ZigBee сеть, которая содержит контроллер-координатор, который посредством данной беспроводной сети, получает от ведомых контроллеров различную статистику некоторых параметров. После сбора статистики, контроллер-координатор отправляет данную информацию на сервер посредством протокола GPRS. Передаваемая информация представляет собой структурированный набор данных в виде фрейма (F1 FF 06 13 и т.д.). Далле я выполняю парсер данных и записываю ее в бд.

Вопрос:
Как реализовать работу с контроллером(клиентом) в рамках сессии? Т.е. например, существует 10 таких контроллеров, и все они подключились к серверу, как мне обрабатывать информацию от каждого из них в рамках активного соединения? Необходимо реализовать работу таким образом, чтобы сервер понимал, что при подключении клиента, все последующие сообщения статистики ведомых контроллеров относились только к нему.
Возможно мой вопрос не корректен, но я по необходимости предоставлю схему работы для Вас, так сказать чтобы все описанное выше, было предметным.

Сейчас я реализовал работу с одним контроллером, но мне не удаётся реализовать работу с двумя, так как серверу абсолютно все равно, кто шлёт информацию. Начинается путаница и несоответствие данных.

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

Утром скину листинг и схему.

 

Powered by ExBB FM 1.0 RC1