6

我正在为我的网站开发私人消息功能,有没有办法从服务器获取推送通知,用户收到了新消息?

我知道的唯一技术是通过 ajax 不断轮询服务器以查看是否有新消息,并在需要时重新加载信使窗口。

感谢您的任何反馈!

UPD:到目前为止,已经确定了以下方向:

1) Comet
2) BOSH - 同步 HTTP 上的双向流
3) XMPP - 这是 google talk 的基础

4

4 回答 4

6

您可能想研究 XMPP 和 BOSH。非常像彗星,ejabberd 结合 nginx 可以在一个非常小的盒子上维持 1000 个连接。

看看我的一个项目www.vooices.us看看我们用 XMPP 和 BOSH 做了什么。

http://www.ejabberd.im/

http://github.com/ssoper/jquery-bosh/tree/master JQueryBosh - 通过 HTTP 快速轻松地访问 XMPP

设置和安装相对容易。

保罗。

于 2009-05-11T09:40:16.553 回答
0

服务器无法将信息推送到客户端,但您始终可以使用Comet。是的,您会轮询服务器,但不会经常轮询。您将保持每个连接打开大约 30 秒(这是我经常看到使用的时间间隔),然后在需要时打开一个新连接。

编辑: Adobe Flash 允许持久连接到服务器,所以你可以使用它。有关详细信息,请参阅本文

于 2009-05-11T08:47:37.920 回答
0

听起来彗星可能链接到一些有用的东西(看看谷歌的 GTalk):

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

于 2009-05-11T09:28:26.557 回答
0

有很多很好的库可以帮助你做到这一点

XMPP - BOSH 是我在我的网站上使用的一个很好的组合

XMPP 服务器

Ejabberd,Openfire 我使用 ejabberd

您可以使用 Strophe 和 Ejabberd 在 javascript 中捕获通知。如果您想从代码发送通知

有像 JAXL 和 XMPPHP 这样的库可以让你这样做,但这是在 PHP 中的。

于 2011-06-04T11:36:22.857 回答