美好的一天。PHP,javascript,ajax - 2位用户之间的沟通
我需要这样做:
当用户X按下一个按钮,用户Y看到的照片。在此之前,用户Y什么都看不到
我这样做是这样的:我在一台mysql服务器上创建了一个数据库,并创建了一个包含照片和标志的表格。当用户X按下按钮时,我发送一个ajax请求并将标志更改为相应的照片。用户Y也每1秒发送一次Ajax请求,以查看是否有任何改变。
听起来不错,看起来不错,工作...它的确如此,但确实如此。当100000个用户每1秒发送1个Ajax请求时,服务器崩溃。先用mysql服务器再用apache。
所以......我的问题是有没有这么多的Ajax请求呢?就像发送页面某个“事物”,告诉浏览器保持相同的套接字并稍后发送图像?像流一样的东西,而不是图像是HTML页面/图像/无论什么。
我知道java applet将是一个解决方案,但我需要一个php(用于服务器端)+ js(用于客户端)解决方案。
是的,我知道我可能会得到一个“你不能”的答案,但它值得一试。
是否必须每隔1秒?大概3秒钟?这会立即将负载减少到1/3 - 如果它会以100,000个用户的速度崩溃,那么可以使用(理论上)30万个用户。 – 2011-04-12 08:29:28
其实我需要在0.5 ... 1的请求是妥协。此外,我还增加了一次清理时间...每隔120秒10秒,用户不发送任何东西...仍然不好。 – zozo 2011-04-12 08:30:30
你有可能使用HTTPS吗?我问这是因为你随后在每台客户端计算机上都有一个安全通道,因此能够将异步响应发送回客户端。 – 2011-04-12 08:33:27