Подтвердить что ты не робот

Как работает браузер в браузере?

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

Возьмите разговор google в gmail, например. Как это работает? Как это реализовано?

4b9b3361

Ответ 1

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

Ответ 2

Взгляните на Comet

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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