我有一个 C 应用程序,它产生我想使用服务器发送事件推送到网站的数据。
我在 C 中实现了一个基本的 Web 服务器,它在接收到 Http 请求后发送 Http-Header,然后以 1 秒的间隔通过套接字发送数据。
我将我的套接字注册为事件源,并且我正在传输正确的 HTTP 标头(根据 Firebug),但由于某种原因未调用 eventListener。
var source = new EventSource('http://192.168.2.113:10001/');
source.addEventListener('message', function(e) {
/* */
}, false);
我尝试从 php 应用程序发送事件,它没有任何问题,所以猜测问题不在 javascript 端。
当我刚刚http://192.168.2.113:10001/
在浏览器中打开时,会显示我以 1 秒为间隔发送的数据字符串。
我只找到了使用 php 或 cgi 的 sse 实现,我不想使用它们。
我的回复标题:
HTTP/1.1 200 OK\n
Date: Fri, 05 Jul 2013 15:05:15 GMT\n
Cache-Control: no-cache\n
Connection: Keep-Alive\n
Transfer-Encoding: chunked\n
Content-Type: text/event-stream\n
\n
事件数据:
data: Testdata...\n\n