这是我到目前为止所做的,我正在努力找到一个解决方案:
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
});
答案 0 :(得分: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');
});
});
答案 1 :(得分:1)
我收到了一个错误:
TypeError:无法读取属性' emit'未定义的
我想我可能会误解或遗漏一些对其他人来说显而易见的事情。请求发出调用时出错:
router.post('/', function (req, res) {
// fire an event
event.emit('homePage') <----------- HERE
})
我在开头添加:
var event = require('events').EventEmitter();
<强>更新<!/强> 我解决了它改变需要事件的行2:
var events = require('events');
var eventEmitter = new events.EventEmitter();
之后它正在工作。