socket.io报错解决方法:[TypeError]: fn.bind is not a function
解决办法
这是由于版本问题,只需将io.socket.clients(room)改成io.sockets.adapter.rooms[room]即可
如图:
// let usersInRoom = io.sockets.clients(room); //旧版本写法
let usersInRoom = io.sockets.adapter.rooms[room]; //正确写法
另外,同样由版本引起的 [TypeError]: Cannot read property ‘rooms’ of undefined
只需将io.sockets.manager.rooms改成io.sockets.adapter.rooms即可
如图:
socket.on('rooms', function () {
// socket.emit('rooms', io.sockets.manager.rooms); //旧版本写法
socket.emit('rooms', io.sockets.adapter.rooms); //正确写法
});