我正在编写一个小型的演示网络服务。
我想使用此Web服务为服务使用者提供定期更新。
我必须指出,我只对高级层(即HTTP和Javascript)感兴趣。我不关心如何生成HTTP命令或动态javascript。我对该机制的基本概念感兴趣,并且不希望被绑定到特定的实现语言(我可以决定使用C / C ++,PHP,Python,C#,Java,Ruby甚至Lua,所以最好离开语言特定的方面out)。
这是典型用例场景中的事件序列:
消费者首先通过AJAX HTTP GET命令发出初始请求
服务以第一组数据
随机时间后,服务会向客户端发送更多数据
如果没有更多可用数据,服务会将最后一个数据发送给客户并告诉客户有效,停止“轮询”或“收听”新数据到达
有人可以解释实现上述行为所需的正确(最佳实践)步骤吗?
[编辑]
您可能已经意识到,这是(轻量级)服务器推送的一种形式。我知道彗星等,但它们太笨重/太重了我的需求(加上他们需要额外的第三方软件等)。我只是想使用Javascript和HTTP来推广我自己的轻量级版本。