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)
¿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 (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-client
abajo ^3.0.0
a ^2.3.0
.
No hay comentarios.:
Publicar un comentario