2017-05-17

轻量级 COMET 服务器 icomet 支持 EventSource(SSE)

Views: 26714 | Add Comments

最初的 COMET 技术,指的是 HTTP 长轮询,不过,随着时间的推进,许多能实现浏览器即时推送的技术都可被称为 COMET 技术。由我开发的基于 libevent 库的轻量级 COMET 服务器开源项目 icomet,支持主流的浏览器推送技术,并且支持移动端。

最近,在网友的贡献下,icomet 支持了 HTML 5 的 Server-Sent Events(SSE, EventSource) 技术。这项技术也是 W3C 标准之一,详情可见:http://www.w3.org/TR/eventsource/

在支持 HTML 5 的浏览器中使用 SSE,代码会非常简洁,示例如下:

var source = new EventSource("http://127.0.0.1:8100/sse?cname=12&seq=1");
source.onmessage = function(e) {
    document.body.innerHTML += e.data;
};

e.data 就是服务器推送的数据。icomet 项目源码中带有 demo/web/sse.html 脚本,你直接拖到浏览器里即可看运行效果。

源码和示例下载:https://github.com/ideawu/icomet

Related posts:

  1. HTTP 长连接技术 Comet
  2. 构建C1000K的服务器(2) – 实现百万连接的comet服务器
  3. iComet 的一个应用场景
  4. PHP 用 curl 读取 HTTP chunked 数据
Posted by ideawu at 2017-05-17 14:21:01 Tags:

Leave a Comment