php 服务器发送事件聊天应用程序的行为类似于轮询

php server sent events chat application behaves like polling

我已经开始研究 SSE,并找到了一个 php 聊天应用程序的示例 (http://www.developphp.com/video/JavaScript/Server-Sent-Events-Simple-Chat-Application-Example)。
视频显示消息没有延迟。但是当我在我自己的服务器 (WAMP) 上尝试该示例时,我延迟了很长时间,以至于它不再像它声称的那样是一个实时应用程序。我发现如果我将 retry:15000 更改为一个小得多的值(例如 100 毫秒),那么只有接近实时。但这并不好。这是轮询而不是真正的实时应用程序。似乎在每条消息之后,与服务器的连接都会丢失并相应地重置以重试。它看起来不是一个非常智能的应用程序,因为我们没有避免像普通的 Ajax 轮询那样从客户端到服务器的不断请求。
谢谢


似乎我们必须对服务器端代码进行无限循环,以保持连接仅通过一个请求打开。但这没有任何意义,因为我们再次转向旧的普通投票!!或者我们必须编写代码,在每次迭代中同步等待某些东西,例如,对于这个特定的示例,更新 chat.txt 文件。