IvanPletnev 0 14 апреля, 2014 Опубликовано 14 апреля, 2014 · Жалоба Здравствуйте! Разрабатываю сейчас систему, в которой множество устройств, оборудованных GSM модулями SIM900 будут общаться с TCP сервером. Добился сейчас того, что один модуль надежно отправляет данные на сервер и получает с сервера команды. Возникла необходимость в разработке протокола обмена, обеспечивающего функционирование нескольких устройств. В связи с этим, возник вопрос. Как в таких системах обычно реализуется идентификация клиентов? То есть, например, нужно передать с сервера на определенное устройство, зарегистрированное на сервере, команду. Как легче всего поступить в этом случае? По MAC адресу? Либо какие-то еще механизмы имеются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 14 апреля, 2014 Опубликовано 14 апреля, 2014 · Жалоба Лучше всего задавть для каждого прибора собственные логин/пароль или идентификационный ключ и вести на сервере базу учета подключенных приборов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 апреля, 2014 Опубликовано 14 апреля, 2014 · Жалоба Когда происходит TCP-подключение к серверу устанавливается соединение под которое выделяется сокет. Для каждого соединения свой собственный сокет. Отправляя данные в нужный сокет, можно передать данные конкретному клиенту. Узнать какое именно устройство установило соединение с сервером можно при установке связи путем передачи информации об идентификаторе устройства серверу. Я использую стандартный HTTP-протокол, идентификатор устройства передаю как часть URL (в параметрах). Например, "http://мой_сайт.ru/cgi-bin/device.php?id=идентификатор_устройства". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BIOlinq 1 17 апреля, 2014 Опубликовано 17 апреля, 2014 · Жалоба Как вариант передавать некий токен, вычислять его через хеш от IMEI итп Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IvanPletnev 0 22 апреля, 2014 Опубликовано 22 апреля, 2014 · Жалоба Когда происходит TCP-подключение к серверу устанавливается соединение под которое выделяется сокет. Для каждого соединения свой собственный сокет. Отправляя данные в нужный сокет, можно передать данные конкретному клиенту. Узнать какое именно устройство установило соединение с сервером можно при установке связи путем передачи информации об идентификаторе устройства серверу. Я использую стандартный HTTP-протокол, идентификатор устройства передаю как часть URL (в параметрах). Например, "http://мой_сайт.ru/cgi-bin/device.php?id=идентификатор_устройства". Спасибо, действительно, на сервере будет создаваться таблица соответствия сокета определенному ID устройства. По мере реконнектов таблица будет обновляться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться