Здравствуйте, подскажите пожалуйста как лучше реализовать клиент-серверное приложение по удаленному мониторингу и контролю некоторых устройств Есть сотни устройств, с которых нужно иметь возможность получать статусы и посылать им в ответ исполнительные команды - вопрос в том чтобы делать это с минимальным расходом трафика и небольшими задержками. Устройства подключаются через интернет к серверу, на котором запущен веб-интерфейс. Время от времени на сайт заходит оператор, смотрит состояние устройств и если нужно - отправляет команду. Нужно чтобы с момента отправки команды оператором она выполнялась на выбранном устройстве с минимальной задержкой (максимум пара секунд), но при этом чтобы целевое устройство не расходовало слишком много трафика, постоянно отправляя что-то на сервер. Оперативность нужна только в момент захода оператора на сайт, в остальное время достаточно просто отсылать свой статус раз в 10-15 минут. Как бы вы подошли к реализации такой задачи? Возможно ли использовать веб-сервер в качестве серверного приложения? Это нужно все время открытое соединение держать (что будет с апачем от нескольких сотен постоянно открытых соединений?) или еще как-нибудь можно? Заранее спасибо за ваши ответы!
это и есть серверное приложение устройства понимают SNMP? тогда пусть сервер по крону их опрашивает. а когда оператор залогинен - тем же SNMP отправлять команды.
это получится что раз в несколько секунд сервер по крону должен опросить пару сотен клиентов? а оно не накроется? уточню, надо скоординировать сотни устройств через интернет, чтобы в любой момент можно было взять и начать управлять одним из них без лишних задержек, при этом нет возможности отправлять устройствам входящие соединения, они за NATом я пока вижу только 2 решения: 1. все устройства раз в несколько секунд флудят на сервер что-то вроде "нет ли для меня новых команд?" 2. все устройства постоянно держат открытую TCP-сессию до сервера и по ней получают команды и передают свое состояние Возможны ли еще варианты? - В случае с TCP соединением, можно ли использовать в качестве серверного приложения какой-нибудь apache+php, чтобы не писать свое приложение с кучей сокетов? Переварит ли апач одновременные несколько сотен подключений и какую технологию надо будет использовать (там же везде таймауты, не получится часами какой-нибудь http запрос держать)?