我需要创建一个类似于facebook聊天聊天。
我正在考虑使用ajax轮询(每2-3秒发送一次请求)。
这是一种好的方法吗?或者我需要使用其他服务器端语言,如erlang和server-comet?
发布于 2010-06-04 19:50:55
或我需要使用其他服务器端语言
不-这并不重要-最大的问题是HTTP不支持推送通知-所以你在web服务器上使用的语言几乎是无关紧要的。
服务器-comet?
使用Comet时,With服务器会等待,直到:
1)响应中包含一些更新
2)计时器到期
在发送响应之前。
另一种方法是使用HTTP开发一个在浏览器中运行的客户端程序,该浏览器使用不同的协议连接到聊天服务器。使用ActiveX、Java或flash都可以做到这一点--所有这些都有很大的缺点--尤其是可移植性。
有几个使用PHP和javascript的预先编写的解决方案-提示-如果文档没有提到Naggle,那么他们可能没有考虑到可伸缩性/性能。
结果表明,C.
发布于 2010-06-07 11:38:10
我想这取决于你有多少用户。当你没有太多的用户时,它将会工作(这是他们在过去做的方式)。但在我看来,聊天不是实时的,因为你可能会有超过x秒的延迟(轮询间隔)。
在并发用户很多的情况下,轮询模型将无法扩展。那么你真的应该研究一下非阻塞长轮询(至少)。我认为,如果可能的话,您应该研究一下非阻塞长轮询技术,因为这是大型站点进行实时应用程序的方式。但是您的服务器应该允许您安装其他编程语言,因为PHP不适合这种技术。
https://stackoverflow.com/questions/2973611
复制相似问题