Error de conexión rechazada: [Errno 111] Conexión rechazada
-
Por qué se produce el
Error de conexión rechazada: [Errno 111] Conexión rechazada
en Python -
Cómo resolver el
Error de conexión rechazada: [Errno 111] Conexión rechazada
en Python - Conclusión
Este error indica que el cliente no puede conectarse al puerto en el sistema del script del servidor. Dado que puede hacer ping al servidor, no debería ser el caso.
Esto puede deberse a muchas razones, como una ruta incorrecta al destino. La segunda posibilidad es que tenga un firewall entre su cliente y el servidor, que puede estar en el servidor o en el cliente.
No debe haber enrutadores ni cortafuegos que puedan detener la comunicación ya que, según las direcciones de su red, tanto el servidor como el cliente deben estar en la misma red de área local.
Por qué se produce el Error de conexión rechazada: [Errno 111] Conexión rechazada
en Python
Este error surge cuando el cliente no puede acceder al servidor debido a una IP o puerto no válido o si la dirección no es única y la utiliza otro servidor.
El error de conexión rechazada también surge cuando el servidor no se está ejecutando, por lo que el cliente no puede acceder al servidor ya que el servidor debe aceptar la conexión primero.
Ejemplo de código:
# server code
import socket
s = socket.socket()
host = socket.gethostname()
port = 1717
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print("Got connection ", addr)
c.send("Meeting is at 10am")
c.close()
# client code
import socket
s = socket.socket()
host = "192.168.1.2"
port = 1717
s.connect((host, port))
print(s.recv(1024))
s.close
Producción :
socket.error: [Errno 111] Connection refused
Cómo resolver el Error de conexión rechazada: [Errno 111] Conexión rechazada
en Python
Trate de mantener el enchufe receptor lo más accesible posible. Tal vez la accesibilidad solo se llevaría a cabo en una interfaz, lo que no afectaría a la red de área local.
Por otro lado, un caso puede ser que escuche exclusivamente la dirección 127.0.0.1
, imposibilitando conexiones desde otros hosts.
Ejemplo de código:
import socket
s = socket.socket()
host = socket.gethostname()
port = 1717
s.bind(("", port))
s.listen(5)
while True:
c, addr = s.accept()
print("Got connection ", addr)
c.send("The Meeting is at 10 am")
c.close()
import socket
s = socket.socket()
host = socket.gethostname()
port = 1717
s.bind(("", port))
s.connect((host, port))
print(s.recv(1024))
s.close()
Producción :
Got connection('192.168.1.2')
The meeting is at 10 am
Cuando ejecute el comando python server.py
, recibirá el mensaje Conexión conseguida
. Al mismo tiempo que ejecuta el comando python client.py
, recibirá un mensaje del servidor.
La resolución DNS puede ser la otra razón detrás de este problema. Dado que socket.gethostname()
devuelve el nombre de host, se devolverá un error si el sistema operativo no puede traducirlo a una dirección local.
El sistema operativo Linux puede editar el archivo de host agregando una línea.
host = socket.gethostname()
port = 1717
s.bind((host, port))
Utilice gethostbyname
host = socket.gethostbyname("192.168.1.2")
s.bind((host, port))
Por lo tanto, debe usar la misma técnica en los lados del cliente y del servidor para acceder al host. Por ejemplo, aplicaría el procedimiento descrito anteriormente en el caso de un cliente.
También puede acceder a través del nombre de host local hostnamehost = socket.gethostname()
o el nombre específico del host local host = socket.gethostbyname("localhost")
.
host = socket.gethostname()
s.connect((host, port))
host = socket.gethostbyname("localhost")
s.connect((host, port))
Conclusión
ConnectionRefusedError
en Python surge cuando el cliente no puede conectarse al servidor. Varias razones incluyen que el cliente no conozca la IP o la dirección del puerto y que el servidor no se esté ejecutando cuando el cliente desea conectarse.
Hay varios métodos mencionados anteriormente para resolver este problema de conexión.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python