Tag: server sent events

HTML5事件源API和node.js | 如何发送stream到正确的客户端?

出于某种原因,我认为没有必要提及,我不能使用socket.io,并决定使用HTML5事件源API(服务器发送的事件)向客户端发送消息。 该消息告诉客户他的付款已通过第三方回叫收到。 我有一个ID来标识每个客户端,并在callback中收到。 到目前为止,我有两个问题: 我想每个发送的消息都被广播给所有的客户端。 有没有办法通过他的IDselect一个特定的客户端? 目前我在客户端使用if语句实现这个function,但是如果我可以直接从服务器发送消息给客户端来提高性能会很棒 当我closures客户端上的连接时,我想我并没有closures所有的连接,不是吗? 我的代码: Node.js的 app.get('/payments', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache', }); ee.on("payment", function (data) { res.write("data: " + JSON.stringify({'wallet': data.address, 'refund_address': data.refund_address,'payment_status': 'paid'}) + "\n\n" ); }); }); 客户 var source = new EventSource("/payments"); source.addEventListener('message', function(e) { if (e.origin […]

HTTPstream和服务器发送的事件有什么区别?

我的理解是,HTTPstream式传输涉及到客户端发送HTTP请求,然后响应请求被发送的时间,使服务器实质上推送到客户端。 在我看来,似乎上海小额信贷有相同的原则,但更为正式。 这是否接近正确的理解? 我看到了这些问题,但他们并没有直接回答我的问题。 HTTP:stream水线,保持活动和服务器发送事件之间的关系是什么? 什么是长轮询,Websockets,服务器发送事件(SSE)和Comet? 我也看了这个https://www.html5rocks.com/en/tutorials/eventsource/basics/#disqus_thread教程设置SSE,这似乎是我会想象HTTPstream设置。