Day20 Socket.io 常用的 API

接下来我们要把前面的东西组合起来,拼凑成一个一对一的视讯系统,不过我今天们先来看看,Socket.io 有哪些常用的api。

订阅讯息

socket.on("message", (data) => {
	// 收到後处理
})

加入房间

socket.join("room-1")

离开房间

socket.leave("room-1")

发送讯息

  1. 给所有使用者广播讯息

    io.sockets.emit("message", {data:"hello"})
    
  2. 给除了自己以外的使用者广播讯息

    socket.broadcast.emit("message", {data:"hello"})
    
  3. 给当前连线的使用者发送讯息

    socket.emit("message", {data:"hello"})
    
  4. 给指定的使用者发送讯息

    io.sockets.socket(socketid).emit("message", {data:"hello"})
    
  5. 发送讯息给房间的所有人

io.in(room).emit('message', room, socket.id)
  1. 发送讯息给房间的所有人,除了自己

    socket.to(room).emit('message', room, socket.id)
    

查看房间资讯

io.sockets.adapter.rooms
  • 房间内人数

    io.sockets.adapter.rooms.get(room).size
    

<<:  Day 22 - 阅读心得 - "循环经济"一书

>>:  任务排程

[Golang]slice介绍与心智图

slice与array的差异。 类型的差异 array属於值类型,同属於值类型的包含,基础数据类型、...

IT铁人DAY 9-Factory Method 工厂方法

  今天的Factory Method和上一篇Singleton同样都属於Creational Pa...

1Y0-403 转储 - Citrix 1Y0-403 考试准备指南

您是 Citrix CCE-V 考试的有抱负的候选人之一吗?然後你就中了头奖!多年来,学生在尝试通过...

[Day30] 完赛结语

第 30 天当然要写个铁人完赛心得啦~ 这是我第一次参加 IT 铁人赛,赶在最後一天报名隔日开赛,刚...

Android Studio初学笔记-Day1 -大纲介绍

这是我第一次参加这种撰写文章的比赛,参加这个比赛主要是让我能保持学习并透过写文章分享自己的学习历程,...