emit备忘单

  1. io.on('connect',onConnect)
  2. function onConnect(){
  3. // 发消息到客户端
  4. socket.emit('hello',"can you hear me?",1,2,"abc");
  5. // 发送到是所有客户端除了发送者
  6. socket.broadcast.emit("boradcast","hello friends!");
  7. // 发送到 “game” room中除发件人以外的所有客户端
  8. socket.to("game").emit("nice game","let't play a game");
  9. // 发送到“game1”和/或“game2”房间中的所有客户端,发件人除外
  10. socket.to('game1').to('game2').emit("nice game","let's play a game (too)");
  11. // 发送给“游戏”室中的所有客户,包括发件人
  12. io.in('game').emit('big-announcement',"the game will start soon");
  13. // 发送到命名空间“mynamespace”中的所有客户端,包括发件人
  14. io.of('myNamespace').emit('bigger-announcement',"the tournament will start soon");
  15. // 发送到特定命名空间中的特定房间,包括发件人
  16. io.of('myNamespace').to('root').emit('event',"message");
  17. // 警告:`socket.to(socket.id).emit()` ,不会工作,因为它会发送给房间里的每个人
  18. // 命名 `socket.id` ,但为发件人。请改用经典的“socket.emit()”。
  19. // 带确认发送
  20. socket.emit('question',"do you think so?",(answer)=>{
  21. })
  22. // 不压缩发送
  23. socket.compress(false).emit('uncomressed',"that's rough");
  24. // 指定要发送的数据是否具有二进制数据
  25. socket.binary(false).emit('what',"I hava no binaries!");
  26. // 发送到此节点上的所有客户端(使用多个节点时
  27. io.local.emit('hi',"my lovely babies");
  28. // 发送到所有连接的客户端
  29. io.emit('an event send to all connected clients';)
  30. }

注意:以下事件是保留的,应用程序不应将其用作事件名称:

  • erorr
  • connect
  • disconnect
  • disconnecting
  • newListener
  • removeListener
  • ping
  • pong