内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
似乎所有在Node.js中实现SSE的方法都是通过更复杂的代码实现的,但似乎应该有一种更简单的方式来发送和接收SSE。是否有任何API或模块可以使这个更简单?
你应该可以使用Socket.io来做这样的事情。首先,你需要安装它npm install socket.io
。从那里,在你的代码中你会想要拥有var io = require(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>
服务器发送的事件非常简单。