Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TCP сервер. Идентификация SIM900
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Иван Плетнев
Здравствуйте! Разрабатываю сейчас систему, в которой множество устройств, оборудованных GSM модулями SIM900 будут общаться с TCP сервером. Добился сейчас того, что один модуль надежно отправляет данные на сервер и получает с сервера команды. Возникла необходимость в разработке протокола обмена, обеспечивающего функционирование нескольких устройств. В связи с этим, возник вопрос. Как в таких системах обычно реализуется идентификация клиентов? То есть, например, нужно передать с сервера на определенное устройство, зарегистрированное на сервере, команду. Как легче всего поступить в этом случае? По MAC адресу? Либо какие-то еще механизмы имеются?
RadikX
Лучше всего задавть для каждого прибора собственные логин/пароль или идентификационный ключ и вести на сервере базу учета подключенных приборов.
adnega
Когда происходит TCP-подключение к серверу устанавливается соединение под которое выделяется сокет.
Для каждого соединения свой собственный сокет.
Отправляя данные в нужный сокет, можно передать данные конкретному клиенту.
Узнать какое именно устройство установило соединение с сервером можно при установке связи путем передачи
информации об идентификаторе устройства серверу.
Я использую стандартный HTTP-протокол, идентификатор устройства передаю как часть URL (в параметрах).
Например, "http://мой_сайт.ru/cgi-bin/device.php?id=идентификатор_устройства".
BIOlinq
Как вариант передавать некий токен, вычислять его через хеш от IMEI итп
Иван Плетнев
Цитата(adnega @ Apr 14 2014, 10:10) *
Когда происходит TCP-подключение к серверу устанавливается соединение под которое выделяется сокет.
Для каждого соединения свой собственный сокет.
Отправляя данные в нужный сокет, можно передать данные конкретному клиенту.
Узнать какое именно устройство установило соединение с сервером можно при установке связи путем передачи
информации об идентификаторе устройства серверу.
Я использую стандартный HTTP-протокол, идентификатор устройства передаю как часть URL (в параметрах).
Например, "http://мой_сайт.ru/cgi-bin/device.php?id=идентификатор_устройства".

Спасибо, действительно, на сервере будет создаваться таблица соответствия сокета определенному ID устройства. По мере реконнектов таблица будет обновляться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.