У меня есть сервер узлов, на котором запущено приложение для реагирования, интегрированное с Socket.io. Все работает нормально. У меня также есть внешнее приложение, которое использует те же данные. То, что я хочу сделать, - когда данные изменяются, публикуются на моем узловом сервере, а затем в ответе, передают любые данные пользователям, которые в настоящее время подписываются на сокет.
//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);
})