最近我阅读了一些有关 Ajax HTTP 流的内容。如果我理解一切都很好,那么 HTTP 流式传输是通过向服务器发送 Ajax 请求来实现的。服务器启动一个 PHP 脚本,该脚本不会终止,但会定期刷新它的内容,以便浏览器可以接收任何输出。
但是,当许多客户端使用 HTTP 流连接到服务器时,它会消耗相当多的内存,因为每个连接都需要它自己的 PHP 进程。所以我在想,是否可能有一个 PHP 脚本来监听任何传入的 HTTP 请求?在那种情况下,该脚本可以处理多个连接,因此可以节省内存。如果这是可能的,这种方法的缺点是什么?还有其他方法吗?
注意:目前我没有这方面的真实示例,我只是在试验。
最佳答案
您提到的问题称为推送通知与拉取通知。拉 - 是客户端向服务器发送请求 - 并且服务器响应,而推 - 是服务器发起通信。
我觉得您正在寻找“推送”解决方案。使用以下链接查看如何设置 UDP 连接: http://php.net/manual/en/function.socket-create.php
关于PHP:监听 HTTP 请求/HTTP 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9037071/