1. 服务端
监听connection 事件
io.sockets.on('connection', (socket) => {
console.log("connection socket:", socket.handshake.query.username)
// 监听断开事件
socket.on('disconnect', (reason) => {
console.log("disconnect reason ", reason)
//userMap.delete(socket.handshake.query.username)
})
}
这里通过socket.handshake.query 可以查看一些请求参数,对连接做一些限制,不符合条件的就拒掉
2. 客户端
var username = document.querySelector('input#username')
// connect
socket = io.connect('', {
query: "username=" + username.value });
// 30 秒后主动断开连接
setTimeout(function () {
socket.disconnect()
}, 30000)
io.connect 接口,第一个参数是请求url,第二个参数是相关参数,这里携带用户名