必须在服务器中再次调用从客户端发出的内容?

时间:2014-01-09 12:11:47

标签: node.js socket.io

我在理解socket.io和node.js的工作方式时遇到了问题。

我尝试了一些发送消息的例子,但它确实有效。我不明白的是从客户那里散发出来。

我在客户端使用emit,例如:socket.emit('custom_event');,但它在其他客户端中不起作用,除非我在服务器中添加这样的内容:

var io = require('socket.io').listen(app);

io.sockets.on('connection', function(socket) {
  socket.on('custom_event', function() {
    socket.emit('custom_event');
  });
});

我做错了什么或者我是否需要始终在服务器端添加定义,以便客户端向其他客户端发送内容?

1 个答案:

答案 0 :(得分:0)

这是不可能的,socketio需要客户端之间的服务器逻辑。

你可以这样做:

socket.broadcast.emit

广播意味着向除了启动它的套接字以外的所有人发送消息。


io.sockets.emit

向所有人发送,(包括启动操作的套接字。)

但总是来自服务器

Can you connect client to client via web sockets without touching the server?