假设我们有用户A和B访问包含按钮的同一URL。当A点击按钮时,我希望B网站上的某些内容能够立即更改 ,而B在其上,例如要添加的文本。 我希望延迟时间少于150毫秒。
这是现实吗?你能给我一些关于我应该搜索的提示,或者说明这个的玩具例子吗?感谢。
答案 0 :(得分:5)
我认为你应该看一下Push / Comet服务器。现在非常受欢迎的是NGINX的推送模块:http://pushmodule.slact.net/
这是您创建聊天室的方法。至少这就是你解释的那样。
**** ****更新
关于你的延迟问题,我不认为150ms是现实的,你意识到它是一个完整的往返至少加上DB读写。轮询不会给用户带来非常快捷的体验,这是因为您的JS可能决定在用户完成操作之前立即发送响应,您必须等到JS再次为用户“B”发送请求“看到更新。这可能很长一段时间,也许就像10秒钟?你不会在我看来使用民意调查,因为它非常浪费,并且缓存也非常困难。
我会继续推进。不幸的是,Apache没有像Nginx那样可靠的推送服务。
答案 1 :(得分:1)
有两种主要方法:
本文列出了另外两种方法:http://www.infoq.com/news/2007/07/pushvspull
答案 2 :(得分:0)
您可以使用php
和mysql
或某种数据库轻松完成此操作。有什么东西阻止你使用数据库吗?如果是这样,您可以使用php写入文件,这样您就可以为用户A和B存储这些值。