2011-07-15 45 views
1

我在这里问你是否认为正确的编码方式。对ajax消息通知的建议?

我有一个网站接收私人信息,我希望一个标志显示人收到信息的那一刻。我应该每3秒钟检查一次新邮件,并在出现新邮件时显示该标志,还是有更好的方法?

如果我在ajax做过,我想每3-5秒检查一次新邮件,一旦有一个标志,就停止检查更多。

我唯一担心的是,如果每3-5秒钟检查一次,它会在打字时对人造成任何滞后或毛病?让我们说他们正在输入一个段落,我不希望他们的文字在检查那些3-5秒的间隔时出现小故障。

我提到的编码器朋友之一是Ping(?)或类似的方法。如果用户始终连接到服务器,并且发生更改,则会通知用户。我完全不确定这是如何工作的。

任何人都知道Facebook如何做到这一点?哈哈。

谢谢!

回答

1

如果你已经完成了AJAX,它不应该在输入时延迟/毛刺。像3-5s一样好,因为它足够快,但不会减慢服务器/浏览器。

他的意思是“推”吗?在push中,消息被实时推送到客户端,客户端不会询问是否有新消息。这很可能是Facebook使用的方法。

+0

推动可能是他说的或意思。我可以使用推送通知与PHP和我的专用服务器?推送带宽有什么关系?当我们说话时,我会查找这个:)谢谢! – Darius

+0

快速Google搜索看起来像彗星是要走的路。 http://en.wikipedia.org/wiki/Comet_%28programming%29然而,如果甚至需要这种推动,它的好处是什么呢?它对大量编码的响应速度只有1-2秒。 – Lauri

+1

谢谢!我现在会使用常规的ajax检查。当我们重新开发网站时,我们可能会实现这一点。现在似乎太麻烦了。感谢你的帮助。 – Darius

1

我的一个编码器的朋友提到有与平安(?)的方法或 类似的东西

说实话,我真的不喜欢periodic refresh(间隔轮询),因为TT有缩放问题(我在使用定期刷新时收到来自主机提供商的通知)。您应该使用更高效的传输例如像:

要使用这个,你可以使用:

任何人都知道Facebook的是如何做的?哈哈。

对于chat他们使用Erlang。他们也有从他们过去购买的friendfeed开源的龙卷风(见上面的链接)。 Facebook是一家PHP商店,但他们决定不使用PHP,因为PHP无法有效地完成这项工作。无论如何,他们正在使用上面的一种传输效率。