我阅读了规范和一些关于服务器端事件的示例/教程,但我现在完全理解了整个过程。
如果使用ajax时,请求 - >响应周期很容易理解,这里看起来有点复杂。如下所述:http://dsheiko.com/weblog/html5-and-server-sent-events,我不明白谁/什么在服务器上生成事件。就像有人不停地调用服务器脚本一样,这就产生了随机数。
不仅如此,作者说:“此外,您不需要在事件源脚本中应用循环周期。这似乎是重复将消息自动推送到客户端。”。
这是怎么回事?
谢谢,
答案 0 :(得分:2)
据我所知,服务器端PHP脚本会定期发送消息。在示例中,脚本的链接位于名为event-source
的标记中,脚本似乎是events.php
。发送的消息由函数onMessageHandler
处理。处理程序被分配给<event-source>
- 标签本身,对于Opera,server-time
事件被处理,对于Webkit,message
事件。它是(支持HTML5的)浏览器负责轮询,因此实际上它看起来最像是long polling的浏览器实现。
关于你的问题我不明白谁/什么在服务器上生成事件:服务器端没有生成事件,它只是一个定期调用的PHP脚本。在脚本返回时间戳的示例中。