我目前有一段 jquery/js 代码,每隔几秒 (5) 运行一次 GET 请求,寻找可能进来的新数据。
有没有什么方法可以让 PHP 在有新帖子时“推送”或向 javascript 代码发出信号,而不是每隔几秒钟检查一次是否有新帖子出现?
另一个例子:我正在为用户调整图像的大小。我想向用户显示有关正在进行的过程的实时数据 - 显示诸如“上传到服务器”、“调整图像大小”、“存储图像”之类的消息。
对这样的事情有任何帮助吗?
我目前有一段 jquery/js 代码,每隔几秒 (5) 运行一次 GET 请求,寻找可能进来的新数据。
有没有什么方法可以让 PHP 在有新帖子时“推送”或向 javascript 代码发出信号,而不是每隔几秒钟检查一次是否有新帖子出现?
另一个例子:我正在为用户调整图像的大小。我想向用户显示有关正在进行的过程的实时数据 - 显示诸如“上传到服务器”、“调整图像大小”、“存储图像”之类的消息。
对这样的事情有任何帮助吗?
这是您不希望做的事情。对 5 秒的 javascript 投票感到满意。这确实是最好的方法。
我推荐一个 SaaS 解决方案,例如WebSync On-Demand;对有限的用户免费,适用于任何服务器语言,设置自己的服务器没有麻烦等。
you can use some sort of Comet technique, but that may require special considerations depending on your load. For example, if you are expecting a heavy load, you may need to configure your web server so that it can handle all of the concurrent connections. If you don't have that kind of control over your web server but expect alot of traffic, then it's best to stick with the polling technique.
but if you're just going to serve up a page to a small group... then try out one of those Comet techniques. there are jQuery plug-ins that can help:
最简单的解决方案是使用您当前实施的 5 秒轮询。这是最简单的实现,并且通常运行良好。
另一种选择是实现“长轮询”版本......其中javascript代码打开与服务器的连接并使其保持打开状态(允许服务器使用该连接以更直接的方式向客户端发送数据)。当客户端 javascript 检测到连接已关闭(由于超时)时,它将启动另一个连接回服务器。服务器代码需要能够处理长轮询客户端的数量,并处理客户端的偶尔断开连接(当它们重新连接时为它们排队消息)。
最后,还有类似“彗星”的解决方案,可以让您对客户端进行服务器端推送。我不知道基于 php 的 Comet 实现......