我想做一些事情,我可以使用/visit
等设置到app.get('/visit', function(req, res){})
等链接的路径。在其中,我想发出一条消息,如socket.emit("event", "a message")
然后在我的io.on("connection")
函数中,能够侦听event
并返回消息。我访问过的所有示例似乎都有一个如何在访问html页面时执行此操作的示例...但是如何只使用显示类似res.json()
的常规路由来执行此操作?< / p>
答案 0 :(得分:1)
如果您尝试在同一文件中发出和侦听事件,则应该使用节点的内置事件侦听器,而不是socket.io(https://nodejs.org/api/events.html)的专用侦听器:
var EventEmitter = require('events').EventEmitter;
var eventExample = new EventEmitter;
//You can create event listeners:
eventExample.on('anEvent', function(someData){
//Do something with someData
});
//To trigger an event listener you must emit:
eventExample.emit('anEvent', someData);