Я бы настоятельно рекомендовал потратить некоторое время на комету, но я не знаю, какую реальную реализацию или библиотеку вы могли бы использовать.
Для своего рода «панели управления callcenter» веб-приложения, в котором задействован агент обновления и статус очереди вызовов для живого Callcenter, мы разработали внутреннее решение, которое работает, но находится далеко от библиотеки, которую вы можете использовать ,
Что мы сделали, так это реализовать небольшую услугу на сервере, которая разговаривает с телефонной системой, ждет новых событий и сохраняет фотографию ситуации. Эта услуга предоставляет небольшой веб-сервер.
Наши веб-клиенты подключаются через HTTP к этому веб-серверу и запрашивают последнюю фотографию (закодированную в XML), отображают ее, а затем снова идут, запрашивая новую фотографию.Веб-сервер в данный момент можно:
- Возвращает новую фотографию, если есть один
- Блок клиент в течение нескольких секунд (30 в нашей установке) ждет какое-то событие, чтобы ocurr и изменить фотографию. Если в этот момент не было создано ни одного события, он возвращает ту же фотографию, только для того, чтобы соединение оставалось в живых, а не время ожидания клиента.
Таким образом, когда клиенты опроса, он получает ответ от 0 до 30 секунд макс. Если новое событие уже сгенерировано, оно получает его немедленно), в противном случае он блокируется до тех пор, пока не будет создано новое событие.
Это в основном опрос, но это несколько умный опрос, чтобы не перегревать веб-сервер. Если комета не является вашим ответом, я уверен, что это может быть реализовано с использованием той же идеи, но с использованием более широко AJAX или кодирования в JSON для достижения лучших результатов. Это было разработано до эпохи AJAX, поэтому есть много возможностей для улучшения.
Если кто-то может обеспечить реальную облегченную реализацию этого, отлично!
@ Rachel - живые обновления, чтобы вы могли видеть, что делают другие. Хорошо подходит для таких сайтов, как StackOverflow и для веб-приложений для совместной работы, таких как документы Google. –
Любой, кто занимается подобными вещами в 2016 году, вероятно, найдет веб-сайты, чтобы быть лучшим выбором для такого рода общения. – Shadow
Я не уверен, что есть. Чтобы сделать его концептуально более простым для приложения, я думаю, вы могли бы реализовать транспортный уровень поверх запросов на опрос и, таким образом, удалить ответственность за опрос из своей логики приложения. Может быть, кто-то уже реализовал это? Редактировать: По-видимому, это называется reverse Ajax и Comet, но пока похоже, что вы должны его реализовать самостоятельно. Библиотека JavaScript для этого, кто-нибудь? –