如何在nodejs中的邮政请求中发出socket.io响应



我有一个与socket.io集成的React应用程序的节点服务器。一切都很好。我还有一个使用相同数据的外部应用程序。我想做的是,当数据更改时,将其发布到我的节点服务器,然后在响应中,向当前订阅套接字的用户发出任何数据。

//SERVER CODE LIVES ABOVE HERE...
const io = require('socket.io')(server);
io.on('connection', (socket) => {
  socket.on('create data', function(data) {
    //a place to create data, once complete triggers everyone subscribed to get an update.
    socket.emit('data created', data);
  });
});
app.post('/api/datacreated/', function(req, res) {
  //HOW DO I EMIT IN HERE?! - this is coming from an external resource
  socket.emit('data created', data);
})

随时欢呼!

套接字是本地范围的。 io.sockets 不是,所以您可以做:

app.post('/api/datacreated/', function(req, res) {
 //this is coming from an external resource
 io.sockets.emit('data created', data);
})

最新更新