Solucionar el error 48 de Python Socket



Pruebe Nuestro Instrumento Para Eliminar Los Problemas

El error de socket 48 es un error de Python que se activa cuando el proceso intenta vincularse a un puerto que ya está en uso.



Servidores



¿Qué causa el error 'socket.error: [Errno 48] La dirección ya está en uso'?

Después de una breve investigación, encontramos que las causas son:



  • Proceso vinculado al puerto: Siempre que se crea un proceso en el servidor, éste utiliza un puerto para comunicarse con Internet. El puerto es como un anfitrión que puede entretener a un invitado a la vez. Sin embargo, si no especifica un puerto, el servidor simplemente lo crea en el puerto predeterminado. La próxima vez que cree un proceso, debe especificar un puerto porque el puerto predeterminado ya está en uso.

Solución 1: especificar el número de puerto

El error se desencadena principalmente cuando una persona intenta vincular un proceso específico al puerto predeterminado y el puerto predeterminado ya está vinculado a un proceso diferente. Por lo tanto, en este paso, especificaremos el puerto en el que se limitará el proceso.

  1. Lo más probable es que esté utilizando el siguiente comando para crear un proceso.
    $ python -m SimpleHTTPServer
  2. En lugar de esto, use este comando para crear un proceso.
    $ python -m SimpleHTTPServer (Número de puerto)
  3. Espere a que se cree el proceso y verifique si el problema persiste.

Solución 2: Liberar el puerto

Si el Puerto ya está siendo utilizado por un proceso diferente, el nuevo proceso no podrá funcionar en ese puerto. Por lo tanto, en este paso, liberaremos el puerto terminando el proceso anterior y luego ejecutando el nuevo. Para eso:

  1. Utilice el siguiente comando para enumerar varios procesos que utilizan un puerto específico.
    $ ps -fA | pitón grep
  2. El argumento del comando se parecerá a las siguientes líneas.
    601 88234 12788 0 9:53 PM ttys000 0: 00.16 python -m SimpleHTTPServer
  3. Fuera de esto, el código de proceso que usaremos para matar es '88234'.
  4. Utilice el siguiente comando para finalizar el proceso.
    matar 88234

    Alternativamente, puede usar el siguiente comando para matarlo.



    sudo kill -9 PID
  5. Ahora puede vincular el proceso a este puerto mediante el siguiente comando.
    $ python -m SimpleHTTPServer (Número de puerto)
  6. Ahora se creará el proceso.

Solución 3: reinicio de Raspberry Pi (solo para Raspberry Pi)

Puede deshacerse de este error en Frambuesa pi reiniciando la Raspberry Pi o eliminando el shell del terminal. La Raspberry Pi a veces no puede eliminar los procesos automáticamente y desencadena este error debido a los procesos anteriores que ya se ejecutan en los puertos.

1 minuto de lectura