Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нужно слушать порт и отвечать, по типу сайтов мониторинга 
:(
    Опции темы
PILOT
Дата 27.7.2014, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



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

По делу:
Есть много устройств, которые установлены в вагонах (в каждом), у всех у них есть модемы. Таких устройств будет ровно 5000 шт. (и больше не будет!)
Есть сервер.
Есть оператор (живой человек с высшим образованием), у которого есть список этих устройств и есть интерфейс который позволяет отображать текущее состояние каждого устройства и позволяет изменять настройки и отправлять на устройство. Устройство может в любой момент времени прислать что-то важное (например что температура в котле высокая, или авария 10-го трубопровода и т.п.) и устройство старается быть на связи, т.е. подключенным к gprs интернету. Оператор тоже может отправить команду и устройство ее получив ее выполняет и отвечает, что все выполнено.
Каждое устройство имеет свой уникальный номер (IMEI для модема) и в пакете от устройства этот номер присутствует обязательно (т.е. сервер знает от кого пришел пакет и может сохранить данные в соответствующую данному устройству строку в таблице BD.

Итак это все хотелки.
Вопрос: можно ли так сделать силами PHP или нужно что-то другое?
Если другое, то куда копать??
Пробовали сокетами, но сокеты рвут соединение, но если соединение рвется, то оператор округляет трафик за время сессии в большую сторону до 1 кб или 10 кб или 100 кб в зависимости от тарифа. 
Кроме того, необходимо учитывать, что устройство может проезжать "слепую" зону, т.е. там где устройтсво не может выйти на связь (нет сигнала GSM) особенно это применимо именно в РЖД, где вышки стоят у дорог, но не у железных.
У оператора есть индикация кто онлайн, а кто нет. Но я это к тому, что рвать соединение не нужно. И к тому, что если оператор решил что-то изменить, то нужно это сначала сохранить в базе, а когда устройство появится онлайн, то устройство скажет, что оно онлайн и ему нужно пропихнуть конфигурационные пакеты. Тоже самое и устройством, оно может накопить данные за время пребывания без интеренет и слить несколько пакетов с данными после подключения.
Устройства могут выходить на связь в любой момент.
Их может быть одновременно много (не более 5000, но понятно, что все разом не нападут).
Есть более элегантное решение моей проблемы, чем сокеты?
Может быть есть что почитать?
ли может кто-то  уже делал что-то подобное?
Заранее признателен.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
baldina
Дата 30.7.2014, 12:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



букф много, а задача не ясна. по какому протоколу работают устройства? если разработка протокола входит в задачу, то каковы возможности устройства?

ввиду упоминания про php можно предположить, что железка умеет http. или есть возможность её научить. это так? если да, то можно и на php (и не только).

в целом решение очевидное и простое: сервер хранит информацию, клиенты (оператор и железки) периодически опрашивают сервер. т.е. постоянного соединения нет, работа ведется сеансами. http подходит.

кстати
Цитата(PILOT @  27.7.2014,  13:11 Найти цитируемый пост)
Пробовали сокетами, но сокеты рвут соединение, но если соединение рвется, то оператор округляет трафик за время сессии в большую сторону до 1 кб или 10 кб или 100 кб в зависимости от тарифа. 

причем тут округление трафика?

PM MAIL   Вверх
ndbn
Дата 30.7.2014, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 17.9.2010

Репутация: нет
Всего: нет



Используйте UDP сокеты
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1262 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.