我真的很喜欢这个:http://services.digg.com/2.0/stream
使用单个连接持续接收数据,content-type是application / json。此外,它可以通过浏览器使用。这是如何实现的?稍微查看around它似乎不是长轮询,HTML5服务器发送的事件甚至是websockets。
我将如何建造类似的东西?我可以使用任何开源解决方案作为起点吗?
谢谢,
/大卫
答案 0 :(得分:2)
它只是一个使用分块传输编码传输的字节流。基本上它只是HTTP分块流。
由于您提到了服务器发送的事件,您可以将其视为没有特殊格式的SSE。消息是由换行符分隔的JSON对象。在服务器上,您可以像实现SSE减去格式化一样实现它。
此类API的客户端需要能够解析此类数据流并在换行符上拆分消息。某些浏览器在readyState
上支持4
XMLHttpRequest
,为每个块调用{{1}},从而允许您处理流数据。