реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> TCP сервер. Идентификация SIM900, По каким признакам идентифицировать сессию
Иван Плетнев
сообщение Apr 14 2014, 01:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 12-04-14
Пользователь №: 81 340



Здравствуйте! Разрабатываю сейчас систему, в которой множество устройств, оборудованных GSM модулями SIM900 будут общаться с TCP сервером. Добился сейчас того, что один модуль надежно отправляет данные на сервер и получает с сервера команды. Возникла необходимость в разработке протокола обмена, обеспечивающего функционирование нескольких устройств. В связи с этим, возник вопрос. Как в таких системах обычно реализуется идентификация клиентов? То есть, например, нужно передать с сервера на определенное устройство, зарегистрированное на сервере, команду. Как легче всего поступить в этом случае? По MAC адресу? Либо какие-то еще механизмы имеются?
Go to the top of the page
 
+Quote Post
RadikX
сообщение Apr 14 2014, 02:09
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Лучше всего задавть для каждого прибора собственные логин/пароль или идентификационный ключ и вести на сервере базу учета подключенных приборов.
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 14 2014, 02:10
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Когда происходит TCP-подключение к серверу устанавливается соединение под которое выделяется сокет.
Для каждого соединения свой собственный сокет.
Отправляя данные в нужный сокет, можно передать данные конкретному клиенту.
Узнать какое именно устройство установило соединение с сервером можно при установке связи путем передачи
информации об идентификаторе устройства серверу.
Я использую стандартный HTTP-протокол, идентификатор устройства передаю как часть URL (в параметрах).
Например, "http://мой_сайт.ru/cgi-bin/device.php?id=идентификатор_устройства".
Go to the top of the page
 
+Quote Post
BIOlinq
сообщение Apr 17 2014, 11:06
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 17-04-14
Пользователь №: 81 415



Как вариант передавать некий токен, вычислять его через хеш от IMEI итп


--------------------
Go to the top of the page
 
+Quote Post
Иван Плетнев
сообщение Apr 22 2014, 05:27
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 12-04-14
Пользователь №: 81 340



Цитата(adnega @ Apr 14 2014, 10:10) *
Когда происходит TCP-подключение к серверу устанавливается соединение под которое выделяется сокет.
Для каждого соединения свой собственный сокет.
Отправляя данные в нужный сокет, можно передать данные конкретному клиенту.
Узнать какое именно устройство установило соединение с сервером можно при установке связи путем передачи
информации об идентификаторе устройства серверу.
Я использую стандартный HTTP-протокол, идентификатор устройства передаю как часть URL (в параметрах).
Например, "http://мой_сайт.ru/cgi-bin/device.php?id=идентификатор_устройства".

Спасибо, действительно, на сервере будет создаваться таблица соответствия сокета определенному ID устройства. По мере реконнектов таблица будет обновляться.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th August 2025 - 20:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.08477 секунд с 7
ELECTRONIX ©2004-2016