Там некоторый путь состоит в том, чтобы ПРОДВИНУТЬ данные от веб-сервера до браузера?

134
задан CharlesB 9 May 2012 в 05:37
поделиться

15 ответов

Да, что Вы ищете, КОМЕТА http://en.wikipedia.org/wiki/Comet_ (программирование) . Другими хорошими условиями Google для поиска является нажатие AJAX и реверс-ajax.

69
ответ дан 23 November 2019 в 23:57
поделиться

Я настоятельно рекомендовал бы инвестировать некоторое время на Комете, но я не знаю фактическую реализацию или библиотеку, которой Вы могли пользоваться.

Для вида "callcenter панель управления" веб-приложения, которое включило агент обновления и состояние очереди вызовов для живого Callcenter, мы разработали внутреннее решение, которое работает, но далеко от библиотеки, которой Вы могли пользоваться.

то, Что мы сделали, должно было реализовать маленький сервис на сервер, который говорит с телефонной системой, ожидает новых событий и поддерживает фотографию ситуации. Этот сервис обеспечивает маленький веб-сервер.

Наши подключения веб-клиентов по HTTP к этому веб-серверу и просят последнюю фотографию (кодированный в XML), дисплеи это, и затем идет снова, прося новую фотографию. Веб-сервер в этой точке может:

  • Возврат новая фотография, если существует один
  • , Блокирует клиент в течение нескольких секунд (30 в нашей установке) ожидающий некоторого события к ocurr и изменяет фотографию. Если никакое событие не было сгенерировано в той точке, она возвращает ту же фотографию, только чтобы позволить соединению оставаться в живых и не тайм-аут клиент.

Таким образом, когда клиентские опросы, это получает ответ в от 0 до 30 секунд максимум. Если новое событие было уже сгенерировано, это сразу получает его), иначе это блокируется, пока новое событие не сгенерировано.

Это в основном опрашивает, но это несколько умный опрос для не перегрева веб-сервера. Если Комета не является Вашим ответом, я уверен, что это могло бы быть реализовано с помощью той же идеи, но с помощью более экстенсивно Ajax или кодировав в JSON для лучших результатов. Это было разработанной эрой перед Ajax, таким образом, существует большой простор для совершенствования.

, Если кто-то может обеспечить фактическую легкую реализацию этого, большого!

5
ответ дан 23 November 2019 в 23:57
поделиться

Изучите Комету (имитация на том, что Ajax является чистящим веществом и так является Кометой), который является в основном "обратным Ajax". Знайте, что это требует, чтобы долговечное серверное соединение для каждого пользователя для получения уведомлений так знало о последствиях производительности при записи приложения.

http://en.wikipedia.org/wiki/Comet_ (программирование)

10
ответ дан 23 November 2019 в 23:57
поделиться

Да, это называется Reverse Ajax или Comet . Комета - это, по сути, общий термин для различных способов открытия долгоживущих HTTP-запросов для передачи данных в режиме реального времени в веб-браузер. Я бы порекомендовал StreamHub Push Server , у них есть несколько интересных демонстраций, и с ними намного проще начать работу, чем с любым другим сервером. Ознакомьтесь с Учебное пособие по началу работы с Comet и StreamHub , где вы найдете краткое введение. Вы можете использовать Community Edition, которая доступна для бесплатной загрузки, но ограничена до 20 одновременных пользователей. Коммерческая версия стоит того, что требует поддержки, плюс вы получаете клиентские адаптеры SSL и Desktop .NET и Java. Помощь доступна через группу Google , в сети есть много хороших руководств, а там '

36
ответ дан 23 November 2019 в 23:57
поделиться

Комета определенно то, что вам нужно. В зависимости от требований к вашему языку / фреймворку доступны разные серверные библиотеки. Например, WebSync - это интегрированный в IIS сервер кометы для разработчиков ASP.NET/C#/IIS , а также есть множество других автономных серверов, если вам нужна более тесная интеграция с другими языками.

6
ответ дан 23 November 2019 в 23:57
поделиться

Мог бы хотеть посмотреть ReverseHTTP также.

0
ответ дан 23 November 2019 в 23:57
поделиться

Можно также изучить Java Pushlets при использовании jsp страниц.

0
ответ дан 23 November 2019 в 23:57
поделиться

Вы могли испытать наш Компонент Кометы - хотя это чрезвычайно экспериментально...!

1
ответ дан 23 November 2019 в 23:57
поделиться

После того как соединение открыто серверу, это может быть сохранено открытым, и сервер может Продвинуть содержание давным-давно, я сделал с использованием multipart/x-mixed-replace, но это не работало в IE.

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

1
ответ дан 23 November 2019 в 23:57
поделиться

Могло бы стоить проверить Сервер Метеора , который является веб-сервером, разработанным для КОМЕТЫ. Хороший демонстрация и это также используется twitterfall.

2
ответ дан 23 November 2019 в 23:57
поделиться

Возможно к achive, к чему Вы стремитесь с помощью персистентных http соединений.

Выезд статья Comet в Википедии, это - хорошее место для запуска.

Вы не обеспечиваете много информации, но если Вы смотрите на создание некоторого событийно-ориентированного сайта (a'la digg шпион) или что-то, вроде которого Вы будете, вероятно, смотреть на реализацию скрытого IFRAME, который соединяется с URL, где соединение никогда не закрывается, и затем Вы продвинете теги script от сервера до клиента для выполнения обновлений.

2
ответ дан 23 November 2019 в 23:57
поделиться

Существуют другие методы. Не уверенный, если они "лучше" в Вашей ситуации. У Вас мог быть апплет Java, который соединяется с сервером на загрузке страницы и ожидает материала, который будет отправлен сервером. Это было бы вполне немного медленнее на запуске, но позволит браузеру получать данные из сервера на нечастой основе без опроса.

2
ответ дан 23 November 2019 в 23:57
поделиться

Можно использовать приложение Flash/Flex на клиенте с BlazeDS или LiveCycle на стороне сервера. Данные могут быть продвинуты клиенту, использующему соединение RTMP. Знайте, что RTMP использует нестандартный порт. Но можно легко отступить к опросу, если порт заблокирован.

2
ответ дан 23 November 2019 в 23:57
поделиться

Интересная альтернатива Комете должна использовать сокеты в Flash.

5
ответ дан 23 November 2019 в 23:57
поделиться

Комета была на самом деле выдумана Alex Russell от Инструментария Dojo ( http://www.dojotoolkit.org ). Вот ссылка на большее количество infomration http://cometdproject.dojotoolkit.org/

4
ответ дан 23 November 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: