为什么发出不在插座内工作

时间:2016-02-27 12:30:00

标签: node.js socket.io

我正在尝试向套接字内部的套接字发送一个事件,例如

io.on('connection', function (socket) {
  socket.emit("connected", {msg: 1});

  socket.on('funcb', function (data) {
    console.log('funca sent following data');
    console.log(data); 
  });

  socket.on('funca', function (data) {
    console.log(data);
    socket.emit('funcb', data);
  });


});

funca是从客户端/浏览器调用的,它尝试调用funcb但func b没有任何想法吗?

3 个答案:

答案 0 :(得分:1)

用代码解释@bolav的内容:

客户端:

  socket.emit("connected", {msg: 1});

  socket.on('funcb', function (data) {
    console.log('funcb from server sent following data');
    console.log(data); 
  });

  socket.on('funca', function (data) {
    console.log(data);
    socket.emit('funcb', data);
  });

服务器端:

socket.on('funcb', function (data) {
console.log('funca from client side sent following data');
console.log(data);
socket.emit("funcb", data); 
});

答案 1 :(得分:0)

可能是“emit”只是将事件发送回客户端(浏览器)而不是套接字本身,因此它无法捕获事件'funcb'

答案 2 :(得分:0)

从客户端发送的

socket.emit('funcb', data)将不会在客户端上调用socket.on('funcb')侦听器。它会向另一方发出并调用服务器上的socket.on侦听器。