不使用任何库或套接字实现http推送(在php中)

不使用任何库或套接字实现http推送(在php中),php,http,Php,Http,我需要使用php开发HTTP推送,它每20秒向浏览器发送一条消息。。我需要在服务器上显示的 有没有办法在不使用任何套接字或库的情况下实现http推入式php?确定:只要您希望连接保持打开状态,就不要让您的php脚本终止。由于每20秒生成一次输出,因此连接超时的可能性要小得多 实现这一点的方法有很多,包括阻塞(例如下面的sleep())或,但最简单的解决方案是: while( true ){ generate_output(); sleep(20); } 您可能需要在客户端处理意

我需要使用php开发HTTP推送,它每20秒向浏览器发送一条消息。。我需要在服务器上显示的


有没有办法在不使用任何套接字或库的情况下实现http推入式php?

确定:只要您希望连接保持打开状态,就不要让您的php脚本终止。由于每20秒生成一次输出,因此连接超时的可能性要小得多

实现这一点的方法有很多,包括阻塞(例如下面的sleep())或,但最简单的解决方案是:

while( true ){
    generate_output();
    sleep(20);
}
您可能需要在客户端处理意外的连接终止,但这是它的jist。检查您的系统配置,查看您可以处理多少个打开的连接。(在Apache中,请参阅MaxClient)


至于客户端,请参见以下答案

确定:只要您希望连接保持打开状态,就不要让PHP脚本终止。由于每20秒生成一次输出,因此连接超时的可能性要小得多

实现这一点的方法有很多,包括阻塞(例如下面的sleep())或,但最简单的解决方案是:

while( true ){
    generate_output();
    sleep(20);
}
您可能需要在客户端处理意外的连接终止,但这是它的jist。检查您的系统配置,查看您可以处理多少个打开的连接。(在Apache中,请参阅MaxClient)


至于客户端,请参见此答案。唯一的方法是每20秒使用WebSocket、“长轮询”或AJAX请求(即使没有任何更新)。您的解决方案将取决于您希望支持的浏览器。例如,较新的浏览器支持Web套接字,但较旧的浏览器不支持。我建议研究Web套接字。对于这种情况,它们是一个很好的解决方案。

实现这一点的唯一方法是每20秒使用WebSocket、“长轮询”或AJAX请求(即使没有任何更新)。您的解决方案将取决于您希望支持的浏览器。例如,较新的浏览器支持Web套接字,但较旧的浏览器不支持。我建议研究Web套接字。对于这种情况,它们是一个很好的解决方案。

我需要使用php开发HTTP推送,它每20秒向浏览器发送一条消息。。正如Andrew在下面建议的那样,从JavaScript进行轮询通常比让推送运行、占用Apache连接要好得多。我需要使用php开发HTTP推送,它每20秒向浏览器发送一条消息。。正如Andrew在下面建议的那样,从JavaScript进行轮询通常比让推送运行、占用Apache连接要好得多。退房