&引用;推;从php到javascript的代码

&引用;推;从php到javascript的代码,php,jquery,server-push,Php,Jquery,Server Push,我目前有一段jquery/js代码,每几秒钟(5)运行一次GET请求,寻找可能传入的新数据 有没有什么方法可以让PHP在新帖子可用时“推送”或向javascript代码发送信号,而不是每隔几秒钟检查是否有新帖子出现 另一个例子: 我正在为用户调整图像的大小。我想向用户显示有关正在进行的过程的实时数据——显示诸如“上传到服务器”、“调整图像大小”、“存储图像”之类的消息 这方面有什么帮助吗?这是您不希望做的事情。对5秒的javascript投票感到满意。这确实是最好的方法 这是你不想做的事情。对5

我目前有一段jquery/js代码,每几秒钟(5)运行一次GET请求,寻找可能传入的新数据

有没有什么方法可以让PHP在新帖子可用时“推送”或向javascript代码发送信号,而不是每隔几秒钟检查是否有新帖子出现

另一个例子: 我正在为用户调整图像的大小。我想向用户显示有关正在进行的过程的实时数据——显示诸如“上传到服务器”、“调整图像大小”、“存储图像”之类的消息


这方面有什么帮助吗?

这是您不希望做的事情。对5秒的javascript投票感到满意。这确实是最好的方法

这是你不想做的事情。对5秒的javascript投票感到满意。这确实是最好的方法

正是您所需要的

它的基本工作原理是不让服务器立即响应,在数据进入时保持发送数据的可能性

问题是apache和IIS目前在处理如此多打开的连接方面做得不太好。看看答案。

正是你所需要的

它的基本工作原理是不让服务器立即响应,在数据进入时保持发送数据的可能性

问题是apache和IIS目前在处理如此多打开的连接方面做得不太好。查看答案。

您可以使用某种技术,但这可能需要根据您的负载进行特殊考虑。例如,如果您预期负载会很重,则可能需要配置web服务器,使其能够处理所有并发连接。如果您对web服务器没有这样的控制权,但需要大量的流量,那么最好还是坚持使用轮询技术

但是如果你只是想给一个小组提供一个页面。。。然后试试彗星技术。有一些jQuery插件可以提供帮助:

您可以使用某种技术,但这可能需要根据您的负载进行特殊考虑。例如,如果您预期负载会很重,则可能需要配置web服务器,使其能够处理所有并发连接。如果您对web服务器没有这样的控制权,但需要大量的流量,那么最好还是坚持使用轮询技术

但是如果你只是想给一个小组提供一个页面。。。然后试试彗星技术。有一些jQuery插件可以提供帮助:


最简单的解决方案是接受当前实施的5秒投票。这是最简单的实现,通常效果良好

另一个选择是实现一个版本的“长轮询”。。。javascript代码打开与服务器的连接并保持打开状态(允许服务器使用该连接以更直接的方式向客户端发送数据)。当客户端javascript检测到连接关闭(由于超时)时,它将启动另一个到服务器的连接。服务器代码需要能够处理长轮询客户机的数量,并处理偶尔断开的客户机连接(当它们重新连接时为它们排队消息)


最后,还有一些类似于“comet”的解决方案,它允许您向客户端进行服务器端推送。我不知道有一个基于php的Comet实现

最简单的解决方案是接受当前实施的5秒投票。这是最简单的实现,通常效果良好

另一个选择是实现一个版本的“长轮询”。。。javascript代码打开与服务器的连接并保持打开状态(允许服务器使用该连接以更直接的方式向客户端发送数据)。当客户端javascript检测到连接关闭(由于超时)时,它将启动另一个到服务器的连接。服务器代码需要能够处理长轮询客户机的数量,并处理偶尔断开的客户机连接(当它们重新连接时为它们排队消息)


最后,还有一些类似于“comet”的解决方案,它允许您向客户端进行服务器端推送。我不知道有一个基于php的Comet实现

我建议使用SaaS解决方案,例如;对有限用户免费,可使用任何服务器语言,无需设置自己的服务器等麻烦。

我建议使用SaaS解决方案,例如;对有限的用户免费,可使用任何服务器语言,无需设置自己的服务器等麻烦。

在我看来,使用Comet或类似Comet的系统有很多缺点。除非你拥有像Google这样近乎无限的资源,否则无限期地保持连接是可行的。在大多数实际情况下,服务器将被拖动。尽管如此,+1我们注意到Comet并不是那么容易实现,而且你不能使用Apache或ISS,而是专门的服务器软件,比如Meteor。没错,我知道这些缺点。但是每五秒钟进行一次轮询也会影响性能,因为每次都必须建立一个新的连接并进行处理。usoban,这取决于实现的规模和类型。我可以在我的服务器上实现一个基本的、粗略的版本,但它不能很好地扩展。@Dykam:很好。这是一种权衡。IMO民调赢得了这场胜利。IMO说,使用Comet或类似Comet的系统有很多缺点。除非你有像Google这样几乎无限的资源,否则无限期地保持连接是可行的。在大多数实际情况下,服务器将被拖动。尽管如此,+1我们注意到Comet并不是那么容易实现,而且你不能使用Apache或ISS,而是专门的服务器软件,比如Meteor。没错,我知道这些缺点。但每五秒钟进行一次投票也会对表现产生影响,