Estoy desarrollando una aplicación de chat con Electron y me gustaría ejecutar dos instancias de la misma aplicación Electron para que se ejecuten simultáneamente con fines de depuración.
Utilicé Electron Forge para instanciar el proyecto, que usa el puerto 3000 de forma predeterminada, y al intentar ejecutar la misma aplicación en otro proceso, se obtiene un error de dirección que ya está en uso.
Investigué un poco sobre esto y vi enfoques para ejecutar el cliente y el código de la aplicación en diferentes puertos , además de cómo cambiar el puerto predeterminado en Electron Forge .
He pensado en hacer que la aplicación Electron se ejecute en un número de puerto generado aleatoriamente para evitar ocupar el mismo número de puerto, pero tengo curiosidad por saber si hay una forma más sencilla de hacerlo.
Mensaje de error adjunto a continuación:
An unhandled exception has occurred inside Forge: listen EADDRINUSE: address already in use :::3000 Error: listen EADDRINUSE: address already in use :::3000 at Server.setupListenHandle [as _listen2] (node:net:1334:16) at listenInCluster (node:net:1382:12) at Server.listen (node:net:1469:7) at /Users/userabc/src/p2p-tool/src/app/node_modules/webpack-dev-server/lib/Server.js:771:30 at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) at /Users/userabc/src/p2p-tool/src/app/node_modules/@electron-forge/plugin-webpack/src/WebpackPlugin.ts:307:22¡Gracias!
Aquí hay una solución básica. Esto supone el uso del paquete Webpack con Electron Forge . Electron Forge instancia un servidor de desarrollo de forma predeterminada en el puerto 3000, por lo que desearemos modificar el número de puerto para poder ejecutar más de una aplicación al mismo tiempo.
"config": { "forge": { "packagerConfig": { "name": "Electron starter", "executableName": "electron-starter", "icon": "assets/icon", "extraResource": [ "assets" ] }, "plugins": [ [ "@electron-forge/plugin-webpack", { //Your code goes here to specify a new port and loggerPort "port": "3001", "loggerPort": "9001", "mainConfig": "./webpack/main.webpack.js", //More config options...Esto es difícil de manejar para el uso repetido, por lo que agradezco mejores soluciones.