Чат в режиме реального времени с push-уведомлением

StackOverflow https://stackoverflow.com/questions/847227

  •  21-08-2019
  •  | 
  •  

Вопрос

Я работаю над функцией приватного обмена сообщениями для своего сайта, есть ли способ получать push-уведомления с сервера о том, что пользователь получил новое сообщение?

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

спасибо за любой отзыв!

UPD:на данный момент были определены следующие направления:

1) Комета
2) ЧУШЬ - Двунаправленные потоки По синхронному HTTP
3) XMPP - это то, на чем основан Google talk

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

Решение

Возможно, вы захотите изучить XMPP и BOSH.Очень похожие на comet и ejabberd в сочетании с nginx могут поддерживать 1000 подключений в очень маленьком блоке.

Взгляните на один из моих проектов www.vooices.us чтобы посмотреть, что мы сделали с XMPP и BOSH.

http://www.ejabberd.im/

http://github.com/ssoper/jquery-bosh/tree/master JQueryBosh - для обеспечения быстрого и легкого доступа к XMPP по HTTP

Он относительно прост в настройке и установке.

Пол.

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

У сервера нет никакого способа передать информацию клиенту, но вы всегда можете использовать Комета.Да, вы бы опрашивали сервер, но не постоянно.Вы бы держали каждое соединение открытым около 30 секунд (именно такой интервал я всегда видел используемым), а затем открывали новое соединение при необходимости.

Редактировать: Adobe Flash допускает постоянные подключения к серверу, так что вы могли бы это использовать.Видишь эта статья для получения подробной информации.

Похоже, что Comet, вероятно, ссылается на какой-то полезный материал (загляните в GTalk Google).:

http://alex.dojotoolkit.org/2006/02/what-else-is-burried-down-in-the-depths-of-googles-amazing-javascript/

Есть много хороших библиотек, которые помогут вам сделать это

XMPP - BOSH - это хорошая комбинация, которую я использую на своих веб-сайтах

Серверы XMPP

Ejabberd, Openfire Я использую ejabberd

Вы можете использовать Strophe вместе с Ejabberd для захвата уведомлений в javascript.Если вы хотите отправлять уведомления из кода

Существуют библиотеки, такие как JAXL и XMPPHP, которые позволяют вам делать это, но это на PHP.

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