Вопрос

Просто любопытно. Как именно работает чат в браузере? Обычно, если пользователь заходит на веб-страницу, его / ее веб-браузер запрашивает содержимое страницы. Сервер производит вывод и отправляет его на компьютер пользователя. Но с чатом все наоборот (ну, не совсем). Это не пользователь, запрашивающий сообщение чата с какого-либо сервера, а сервер, который отправляет его напрямую. Теперь это действительно просто сделать с помощью «нормальной» функции. сервер, но то, что сервер отправляет его в браузер, напрямую смущает меня. Публикация части сообщения понятна, все просто. Вы просто отправляете данные на сервер, например, с помощью ajax или чего-то еще. Но как другой компьютер мгновенно "узнает"? что сообщение было написано к нему? Очевидно, это должен быть сервер, отправляющий его на другой компьютер, как только он будет записан. Но почему-то это не вычисляется в моем мозгу. В моем мозгу браузер только запрашивает вещи, но не просто получает их. Как именно вы это делаете?

Взять, к примеру, Google Talk в Gmail. Как это работает? Как это реализовано?

Это было полезно?

Решение

Существует несколько push-технологий , например Comet , но они не получили широкого применения. В большинстве случаев это достигается с помощью опроса с небольшим интервалом с помощью AJAX и загрузкой любого новые сообщения, которые доступны с момента последнего загруженного сообщения.

Другие советы

Посмотрите на комету

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

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

Он использует AJAX - JavaScript-код на стороне клиента, работающий в GMail браузер пользователя отправляет и получает сообщения с сервера Google и записывает их в окно браузера - перезагрузка страницы не требуется.

Я разработал браузерный чат, схожий с технологией чата в Facebook ( http://chatsign.com ). Это не технология push, но что-то лучше, чем опрос, его называют длинным опросом ajax.

Для получения дополнительной информации о длинном опросе ajax вы можете провести исследование или посетить: http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

Современные приложения чата используют SSE (Server Sent Events: функция html5) для отправки новых сообщений в браузеры

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top