socket.io使用中间件返回新错误将与客户端断开连接?

时间:2018-07-05 16:01:36

标签: websocket socket.io

我正在使用socket.io和laravel 5.6。

这是服务器端代码:

io.use(function(socket,next){
let session = cookie.parse(socket.request.headers.cookie).laravel_session;
laravelSession.getAppKey('./.env')
    .then((appKey) => {
        // continue
        let sessionKey = laravelSession.getSessionKey(session,appKey);
        laravelSession.getSessionFromFile(sessionKey,'./storage/framework/sessions')
            .then((session)=>{
                socket.userId = getUserIdFromSession(session);
                return next();
            }).catch(err=>{
            return next(new Error('Authentication error'));
        });
    });

});

我发现,如果return next(new Error())不能从服务器获取消息。

但是连接似乎仍然存在。

ws connection status

对吗? 还是我可以拒绝在socket.io上的连接端的连接?

0 个答案:

没有答案