Sockets Socket.io-服务器中继、客户端到客户端消息传递

Sockets Socket.io-服务器中继、客户端到客户端消息传递,sockets,socket.io,socket.io-1.0,Sockets,Socket.io,Socket.io 1.0,Socket.IO,我不是想得太多,就是不明白它是怎么工作的。可能是后者。 谁能帮帮我吗 我在各地都看到了一些例子,它们谈到了发射、返回发送者、向所有客户机广播,或者向所有客户机广播,但发送者除外 不清楚的是,这一切发生在哪里,服务器还是客户端,或者两者兼而有之? 我的主要问题是: 服务器是否必须将所有内容中继到所有客户端 你能成为客户吗 直接向所有其他客户端(不包括服务器)发送消息 (必须转播) 客户端是否可以直接向特定用户发送消息 客户 如果有人能帮我澄清这一点,我将非常感激 服务器不必

Socket.IO,我不是想得太多,就是不明白它是怎么工作的。可能是后者。 谁能帮帮我吗

我在各地都看到了一些例子,它们谈到了发射、返回发送者、向所有客户机广播,或者向所有客户机广播,但发送者除外

不清楚的是,这一切发生在哪里,服务器还是客户端,或者两者兼而有之? 我的主要问题是:

  • 服务器是否必须将所有内容中继到所有客户端
  • 你能成为客户吗 直接向所有其他客户端(不包括服务器)发送消息 (必须转播)
  • 客户端是否可以直接向特定用户发送消息 客户
如果有人能帮我澄清这一点,我将非常感激

  • 服务器不必将所有内容都中继到客户端。在这里,您可以选择发回发送方、所有客户端或除发送方之外的所有客户端
  • 不,客户端总是向服务器发送消息
  • 不,和上面的原因相同——您可以从原始客户机向服务器发送消息,然后发送到预期的特定客户机,但您必须跳转到服务器

  • 感谢您的指导,我理解您的意思,但是我找不到任何演示或示例显示客户端在不需要服务器模仿的情况下发射,这看起来太多余了。Server.js
    io.on('connection',function(socket){socket.on('chat message',function(msg){io.emit('chat message',msg);})这就是服务器在这种情况下的用途——将消息从一个客户机中继到其他客户机。诚然,给出的例子非常简单(有意),这可能就是它们看起来如此多余的原因。甚至点对点连接通常也需要某种类型的中央服务器来进行客户机注册和发现(或者至少,这是我的理解)。如果您想尝试绕过典型的服务器,请查看peerjs。