socket.io
基本使用
服务端安装 yarn add socket.io,并使用
server.js
客户端安装 yarn add socket.io-client,并使用
index.html
命名空间
默认命名空间为 /,可以省略不写
index.html
server.js
我们来设置一个命名空间
index.html
server.js
- 命名空间并不会在浏览器网络请求 url 上体现,而是作为没次消息发送的前缀,这是 socket.io 自己做了层封装,而非 webscket 的 api。
- 默认的命名空间也叫主命名空间(mian nsp),命名空间是精准匹配的,所以
/abc不会触发默认的命名空间。
获取某个客户端加入了的房间号
server.js
路径
默认为 socket.io,即查看浏览器网络监控 既可以看到 http://localhost:3002/socket.io/?EIO=4&transport=polling&t=P84S3kH。
我们自定义 path 为 def,代码如下
index.html
server.js
使用场景:多个 ws 服务,每个服务都有自己的 path,这样来管理不至于业务混乱。
获取客户端
官方在 v4 版本又推出了 fetchSockets 的方式来获取当前链接的客户端(不知道为什么)。
收发消息
客户端向服务端发送消息
index.html
server.js
服务端向客户端推送消息
server.js
index.html
参数
websokit 也是可以在 connect 的时候通过 url 传递参数的。
socket.io 更是做了一层封装,便于存取。
index.html
server.js