大家好日子。
我需要这样做:
当用户X按下按钮时,用户Y会看到一张照片。在此之前,用户Y什么都看不见
我是这样做的:我在mysql服务器上创建了一个数据库,并创建了一个包含照片和标志的表。当用户X按下按钮时,我发送ajax请求并将标志更改为相应的照片。用户Y还每1秒发送一次ajax请求以查看是否有任何更改。
听起来不错,看起来不错,有效......但确实如此。当100000个用户每1秒发送1个ajax请求时,服务器崩溃。首先是mysql服务器,然后是apache。
所以...我的问题是,如果没有这么多的ajax请求,有没有这样做呢?有点像发送带有某个“东西”的页面,告诉浏览器保持相同的套接字并稍后发送图像?像流一样的东西,而不是图像是html页面/图像/等等。
我知道java applet会是一个解决方案,但我需要一个php(用于服务器端)+ js(用于客户端)解决方案。
是的,我知道我可能会得到一个“你不能”回答,但值得一试。
答案 0 :(得分:2)
WebSockets怎么办?
修改。 HTTP keep-alive可能有帮助。
答案 1 :(得分:2)
由于HTTP是无状态的,因此您需要在客户端和服务器之间创建永久或持久的套接字连接。
这是一个用PHP,AJAX和Ruby后端编写的聊天应用程序。
Web Chat application main page,更具体地说是part about the socket server