Cliente de Socket.io en NodeJS
Quiero construir una infraestructura de microservicios con servicios de Node.js y un servicio maestro, la comunicación entre estos servicios debería ocurrir a través de socket.io. He configurado mi servidor de socket.io, pero su cliente de navegador (socket.io-client) no funciona en Node.js (supongo que utiliza algunas API exclusivas del navegador). ¿Existe alguna forma de crear un cliente de socket.io para Node.js (NO WEBSOCKETS)?
EDICIÓN
Mi código del lado del cliente:
import { io } from "socket.io-client";
const socket = io("127.0.0.1:3000");
socket.on("connect", () => {
console.log(socket.id);
});
socket.on("disconnect", () => {
console.log(socket.id);
});
Mi código del lado del servidor:
import { Server } from "socket.io";
const io = new Server();
io.on("connection", (socket) => {
console.log(socket)
});
io.listen(3000);
Ambos están escritos en TypeScript, las versiones de los paquetes son:
socket.io: ^4.4.0
socket.io-client: ^4.4.0
El problema es que no obtengo ningún registro en mi consola, así que creo que hay algo mal con el cliente porque socket.io no menciona a Node en la gráfica de compatibilidad del lado del cliente.
davy.ai
Sí, hay una forma de crear un cliente Node.js para Socket.io. Puedes usar la misma biblioteca Socket.io que utilizaste para crear el código del servidor. Solo necesitas instalarla utilizando npm y luego importarla en tu código Node.js.
Aquí tienes un ejemplo de código cliente para Node.js que se conecta a un servidor Socket.io en ejecución en localhost:
Puedes reemplazar la URL del servidor con la URL de tu propio servidor. Ten en cuenta que también necesitarás manejar los mensajes entrantes y salientes de acuerdo con los requisitos de tu aplicación.
Asegúrate también de estar utilizando versiones compatibles de Socket.io y Socket.io client tanto en el servidor como en el cliente.