我目前有一段jquery / js代码,每隔几秒钟(5)运行一次GET请求,寻找可能进入的新数据。
当新帖子 可用时,有什么方法可以让PHP“推”或发信号给javascript代码,而不是每隔几秒检查一下是否有新内容?
另一个例子: 我正在为用户调整图像大小。我想向用户显示有关正在进行的过程的实时数据 - 显示诸如“上传到服务器”,“调整图像大小”,“存储图像”等消息。
对此类事情有任何帮助吗?
答案 0 :(得分:6)
答案 1 :(得分:4)
这是你不想做的事情。对5秒的javascript调查感到满意。这确实是最好的方法。
答案 2 :(得分:1)
我建议使用SaaS解决方案,例如WebSync On-Demand;限制用户免费使用,使用任何服务器语言,无需设置自己的服务器等等。
答案 3 :(得分:0)
您可以使用某种Comet技术,但这可能需要特殊考虑,具体取决于您的负载。例如,如果您期望负载很重,则可能需要配置Web服务器以便它可以处理所有并发连接。如果你没有对你的网络服务器进行那种控制但是预计会有很多流量,那么最好坚持使用轮询技术。
但如果你只是要向一个小组提供一个页面......那么试试其中一种Comet技术。有jQuery插件可以提供帮助:
答案 4 :(得分:0)
最简单的解决方案是使用您当前实施的5秒轮询。这是最简单的实现,并且通常运行良好。
另一种选择是实现“长轮询”的版本...其中javascript代码打开与服务器的连接并使其保持打开状态(允许服务器使用该连接将数据发送到客户端)更直接的感觉)。当客户端javascript检测到连接已关闭(由于超时),那么它只会启动另一个连接回服务器。服务器代码需要能够处理长轮询客户端的数量,并处理偶尔断开的客户端(在重新连接时为它们排队消息)。
最后,还有“彗星”之类的解决方案可以让你对客户端进行服务器端推送。我不知道基于php的Comet实现......