2.3.1 身份验证差异

Socket.io 现使用中间器件

可以通过io.use()为socket.io服务器提供任意函数,该函数在创建socket时运行。查看此示例:

const srv=require('http').createServer();
const io = require('socket.io')(srv)
let run=0;

io.use((socket,next)=>{
    run++; //0->1
    next()
});

io.use((socket,next)=>{
    run++;// 1->2
    next();
})

const socket=require('socket.io-client')();
socket.io('connect',()=>{
    // run  此时等于2
})

现通过中间件进行身份验证更简单

旧的io.set()io.get()已弃用,只能支持向后兼容。下面是一个将旧的授权示例转换为中间件样式的转换:

新的:

命名空间授权?

Last updated

Was this helpful?