socket.io api 总结

server 端
const io = require('socket.io')(8000, {
// path: '/socket',
pingInterval: 10000,
pingTimeout: 5000,
cookie: false,
})

套接字

服务端 接受套接字 /home
io.of('/home').on('connection', socket => {
socket.on('get', val => {
socket.emit('back', val) // 返回单个链接客户端
io.of('/home').emit('back', val) // 返回所有此套接字的客户端
})
})

客户端
let config = {transports: ['websocket']}
const nav = io.connect('http://192.168.20.33:8000/home', config) // 链接后端,并使用套接字 /home
nav.emit('get', 'data')

房间
房间为多个用户(多个浏览器登录)

服务端
io.of('/home').on('connection', socket => {
socket.on('get', val => {
socket.emit('back', val) // 发给单个客户端
io.of('/home').to('roomName').emit('back', val) // 发给room所有客户端
})
socket.join('roomName')
})

客户端
全由服务端设置房间


断开链接

服务端
io.on('connection', (socket) => {
socket.disconnect(true) 参数为true 关闭底层, 参数为 false, 关闭此命名空间
});

客户端
const socket = io.connect('http://192.168.20.33:8000/home', config)
socket.disconnect() // 断开此链接
socket.on('connect, _ => {}) 链接上时触发
socket.on('disconnect', reson => {})
socket.open() 重连

转载于:https://www.cnblogs.com/gsgs/p/8616352.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值