node.js - Express 路由器 + WebSocketServer - 在 POST 上发送消息

标签 node.js express websocket

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

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

WS api here

 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
});

最佳答案

你可以像这样使用事件:

//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');
    });
});

关于node.js - Express 路由器 + WebSocketServer - 在 POST 上发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228392/

相关文章:

javascript - 如何在 JavaScript (ES6) 中测试基于生成器的流控制?

javascript - 我想从 JSON 文件中获取特定数据并将其添加到另一个 JSON 文件/变量中

websocket - 在部署/崩溃期间保持 Websocket 连接的技术

opencv - 如何将 WebRTC 流式传输到 WebSocket?

node.js - browserify不会编译express js

node.js - npm 在 Windows 7 中无法正常工作而不给出错误

javascript - 未存储 SetCookie header

angularjs - $http get 返回与 $resource get 不同

javascript - NodeJS Websocket 客户端保持挂起模式

node.js - 在 Nodejs Express 中实现单元测试 - 意外失败