在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>
服务器发送的事件非常简单。 看看我的两部分博客文章有关这个。
我在node.js中find了SSE的实现。
Github链接: https : //github.com/einaros/sse.js
NPM模块: https : //www.npmjs.com/package/sse
上面的链接可以帮助你吗?