Express router + WebSocketServer - 在POST上发送消息

MNZ*_*NZT 3 websocket node.js express

这是我到目前为止所做的,我正在努力找到一个解决方案,以便:

  • 连接始终保持活动状态,因此我可以处理状态更新
  • 我可以使用POST请求中的数据向客户端发送websocket消息

ws api在这里

 router.post('/', function (req, res) {
// Need to send ws.send() with post data
})


wss.on('connection', function(ws) {
  ws.on('message', function(message) {
    console.log('r : %s', message);
  });
  // ws is only defined under this callback as an object of type ws
});
Run Code Online (Sandbox Code Playgroud)

小智 7

你可以使用这样的事件:

//Create an event
var event = require('events').EventEmitter();

router.post('/', function (req, res) {
   // fire an event
   event.emit('homePage')
})

wss.on('connection', function(ws) {
    ws.on('message', function(message) {
     console.log('r : %s', message);
    });

    // listen the event
    event.on('homePage', function(){
        ws.emit('someEvent');
    });
});
Run Code Online (Sandbox Code Playgroud)