내가 내 socket.iosocket.io - Android 클라이언트에서 '다음 (새 오류())'이벤트를 수신 할 수 없습니까? 내 노드 JS 백엔드에서
내 로그에 따라서 적절하게io.use(async function (socket, next) {
try {
socket.decoded = await db.verifyAuthToken(socket.handshake.query.token, io.secret);
next();
}
catch (err) {
console.error("Socket error validating JWT: " + err);
socket.disconnect();
next(new Error("Socket auth error: No token provided"));
}
});
에 대한 몇 가지 매우 간단한 인증이 오류가 성공적으로 잡아서 처리됩니다.
mSocket.on("error", new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.e(this.getClass().getName(), Arrays.toString(args));
}
});
mSocket.on("connect_error", new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.e(this.getClass().getName(), Arrays.toString(args));
}
});
그러나 디버깅 후, 내 백엔드가 next(new Error())
호출을 수행 할 때 해당 이벤트의도가 호출되는 것을 깨닫게 : 내 클라이언트 (안드로이드)에서 나는 모두 error
및 connect_error
이벤트에 대한 리스너가 있습니다. 여기서 무엇이 잘못 될 수 있습니까? 클라이언트가이 오류를 성공적으로 수신 할 수있게하려고합니다. 그렇지 않으면 소켓은 이벤트를 발생/수신 할 때 정상적으로 작동합니다.