如何在服务器中发出beetween事件socket.io?

时间:2016-12-22 06:35:33

标签: node.js socket.io

var admin = io.of('/admin');
var user = io.of('/user');
user.on("connection", function(socket) {
     socket.on("accept-request", function(data) {
        var res = {data:"accepted" };
        admin.emit("eventone", res);
     })
});
admin.on("connection", function(socket){
  socket.on("eventone", function(data){
    console.log(data);
  })
});

如果您看到,eventone是从user命名空间发出的。在admin命名空间中,将有另一个函数或操作。我已经尝试过了,但没有工作。

这可能吗?
如果是,如何以正确的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

感谢您question/asnwer

我在节点js中使用events模块。用于通信beetwen 2 socket namespace

使用示例:

var events = require('events');
var emitter = new events.EventEmitter();
var admin = io.of('/admin');
var user = io.of('/user');
user.on('connection', function(socket){

  socket.on("ponged", function(data){
     emitter.emit("pinged", data);
  })
});

admin.on ('connection' , function(socket) {
  emitter.on("pinged" , function(data){
     console.log(data)
  });
});