在Node.js中实现服务器发送事件的简单方法?

我环顾四周,似乎在Node.js中实现SSE的所有方法都是通过更复杂的代码,但似乎应该有一个更简单的方式来发送和接收SSE。 是否有任何API或模块,使这更简单?

你应该可以使用Socket.io来做这样的事情。 首先,您需要使用npm install socket.io来安装它。 从那里,在你的代码中,你将需要var io = require(socket.io);

你可以看到Socket.IO给出的更深入的例子

你可以在服务器上使用这样的东西:

 var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('../..')(server); var port = process.env.PORT || 3000; server.listen(port, function () { console.log('Server listening at port ' + port); }); app.use(express.static(__dirname + '/public')); io.on('connection', function (socket) { socket.emit('EVENT_NAME', {data}); }); 

在客户端上这样的东西:

 <script src="socket_src_file_path_here"></script> <script> var socket = io('http://localhost'); socket.on('EVENT_NAME', function (data) { console.log(data); //Do whatever you want with the data on the client }); </script> 

服务器发送的事件非常简单。 看看我的两部分博客文章有关这个。

  1. http://bayn.es/real-time-web-applications-with-server-sent-events-pt-1/
  2. http://bayn.es/real-time-web-apps-with-server-sent-events-pt-2/

我在node.js中find了SSE的实现。

Github链接: https : //github.com/einaros/sse.js

NPM模块: https : //www.npmjs.com/package/sse

上面的链接可以帮助你吗?