GOOGLE ADS

miércoles, 27 de abril de 2022

¿Cómo corregir una solicitud incorrecta de error 400 en socket io?

Tengo una aplicación frontend (VUE JS)

Tengo un backend (Nest JS)

La aplicación Vue JS obtiene datos del backend a través de websockets usando la biblioteca extendida vue-socket.io Cuando se inicia la aplicación Vue JS, veo errores en el navegador:

polling-xhr.js?d33e:229 POST http://localhost:11050/socket.io/?EIO=4&transport=polling&t=NMXgCF1 400 (solicitud incorrecta)

error

¿Cómo puedo solucionar este error?

Creo que no está conectado con la biblioteca, probé solo la biblioteca socket io y el resultado fue el mismo.

El servidor está funcionando, porque envía registros y muestra quién está conectado:

servidor responde

Servidor (Nest JS)
archivo main.ts:

async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(11050);
}
bootstrap();

Puerta de enlace de la aplicación:

@WebSocketGateway()
export class AppGateway implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
private logger: Logger = new Logger('AppGatway');
@SubscribeMessage('msgToServer')
handleMessage(client: Socket, text: string): WsResponse<string> {
return { event: 'msgToClient', data: text };
}
afterInit(server: Server) {
this.logger.log('Initialised!');
}
handleConnection(client: Socket,...args: any[]): any {
this.logger.log(`Client connected: ${client.id}`);
}
handleDisconnect(client: Socket): any {
this.logger.log(`Client disconnected: ${client.id}`);
}
}

Interfaz (Vue JS):

import VueSocketIOExt from "vue-socket.io-extended";
import Vue from "vue";
import io from "socket.io-client";
const socket = io("http://localhost:11050/");
Vue.use(VueSocketIOExt, socket);
data: () => ({
socket: null,
connection: null,
sockets: {
connect() {
console.log("socket connected");
},
},
}


Solución del problema

Me encontré con este problema hoy usando una implementación de NestJS muy similar, sin embargo, mi interfaz está escrita con ReactJS. Creo que el problema está relacionado con versiones de servidor y cliente de socket.io que no coinciden.

Resolví este problema degradando la versión de socket.io-clientabajo ^3.0.0a ^2.3.0.

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...