Javascript 为什么android端的socket.io侦听器没有被调用?

Javascript 为什么android端的socket.io侦听器没有被调用?,javascript,android,node.js,kotlin,socket.io,Javascript,Android,Node.js,Kotlin,Socket.io,我编写了用于用户身份验证的套接字中间件,但我不知道我的问题出在哪里! 在android端“未授权”事件未调用 服务器端: async function (socket, next) { if (socket.handshake.query && socket.handshake.query.token) { jwt.verify(socket.handshake.query.token, process.env.SECRET_JWT_KEY,

我编写了用于用户身份验证的套接字中间件,但我不知道我的问题出在哪里! 在android端“未授权”事件未调用

服务器端:

async function (socket, next) {

    
    if (socket.handshake.query && socket.handshake.query.token) {
        jwt.verify(socket.handshake.query.token, process.env.SECRET_JWT_KEY, function (err, decoded) {

            if (err) {
                socket.emit( "unauthorized",  "unauthorized user") <==send to sender you'r authentication is failed 
                console.log("Query: ", "unauthorized");    <==This line is lunched
                return next(new Error('Authentication error'));
            }
            socket.decoded = decoded;
            next();
        });
    } else {
        next(new Error('Authentication error'));
    }

异步函数(套接字,下一个){ if(socket.handshake.query&&socket.handshake.query.token){ jwt.verify(socket.handshake.query.token、process.env.SECRET\u jwt\u密钥、函数(err、decoded){ 如果(错误){
emit(“unauthorized”,“unauthorized user”)我认为您需要首先通过调用apply块内的这一行连接到套接字

this.connect() 

终于找到了解决方案,在抛出错误时无需从中间件发出消息。您可以在android客户端中获得预定义事件,如下所示:

socket.on(Socket.EVENT_ERROR) { args -> println(args.contentToString()) }
应用块用于“选项”。不过我会尝试
socket.connect()
socket.on(Socket.EVENT_ERROR) { args -> println(args.contentToString()) }