Express.js事件emmiter和socket.io:将事件侦听器上的数据发送/发送到具有特定socket.id的特定套接字

时间:2018-01-23 23:02:34

标签: javascript node.js express events socket.io

在我的个人项目中,我发布了一些事件,例如:

const EventEmitter = require('events');
//Some other doe goes there
emmiter.emit('some-event');

另外,我使用以下模式在文件my_controller.js中创建一个控制器来定义我的应用程序路径:

const express = require('express');

function MyController(expressApp,emmiter){

  const router = express.Router();

  router.get('/someendpoint',function(req,res,next){
     res.end("Hello");
  })

  emmiter.on('some-event',function(){
    //Send hello there
  });

}

module.exports=MyController;

Ans我有一个main.js文件,用于广告应用程序bootstraping-express.js初始化:

const express=require('express');
const EventEmitter = require('events');
const MyController=require('my_controller.js');

const app=express();
const server=app.listen(config.http.port,function(){
  console.log("Listening over port: "+config.http.port);
});

const websocket=io.listen(server);
const emmiter=new EventEmitter();

const controller=new MyController(app,emmiter);

io.on('connection', function(socket){
    socket.on('disconnect', function(){
      console.log('user disconnected');
    });

    //I can emmit or send stuff there
});

所以当我的应用程序发出事件而不需要多个侦听器时,我问如何在特定套接字上发送/发送消息?

0 个答案:

没有答案