Digg的流API如何工作?

时间:2012-05-26 16:06:27

标签: api streaming long-polling digg server-sent-events

我真的很喜欢这个:http://services.digg.com/2.0/stream

使用单个连接持续接收数据,content-type是application / json。此外,它可以通过浏览器使用。这是如何实现的?稍微查看around它似乎不是长轮询,HTML5服务器发送的事件甚至是websockets。

我将如何建造类似的东西?我可以使用任何开源解决方案作为起点吗?

谢谢,

/大卫

1 个答案:

答案 0 :(得分:2)

它只是一个使用分块传输编码传输的字节流。基本上它只是HTTP分块流。

由于您提到了服务器发送的事件,您可以将其视为没有特殊格式的SSE。消息是由换行符分隔的JSON对象。在服务器上,您可以像实现SSE减去格式化一样实现它。

此类API的客户端需要能够解析此类数据流并在换行符上拆分消息。某些浏览器在readyState上支持4 XMLHttpRequest,为每个块调用{{1}},从而允许您处理流数据。