Python: enlace y escucha con sockets

La programación de sockets es una forma de conectar dos Nodes en una red para comunicarse entre sí. Un socket (Node) escucha en un puerto particular en una IP, mientras que otro socket se comunica con el otro para formar una conexión. El servidor forma el socket de escucha mientras el cliente se comunica con el servidor. Nota: Para obtener más información, consulte Programación de sockets en Python

Enlace y escucha con sockets

Un servidor tiene un método bind() que lo vincula a una IP y puerto específicos para que pueda escuchar las requests entrantes en esa IP y puerto. Un servidor tiene un método listen() que pone al servidor en modo de escucha. Esto permite que el servidor escuche las conexiones entrantes. Y por último, un servidor tiene un método accept() y close(). El método accept inicia una conexión con el cliente y el método close cierra la conexión con el cliente.

 Ejemplo 

Python3

import socket
import sys
 
 
# specify Host and Port
HOST = ''
PORT = 5789
   
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  
try:
    # With the help of bind() function
    # binding host and port
    soc.bind((HOST, PORT))
      
except socket.error as message:
     
    # if any error occurs then with the
    # help of sys.exit() exit from the program
    print('Bind failed. Error Code : '
          + str(message[0]) + ' Message '
          + message[1])
    sys.exit()
     
# print if Socket binding operation completed   
print('Socket binding operation completed')
  
# With the help of listening () function
# starts listening
soc.listen(9)
  
conn, address = soc.accept()
# print the address of connection
print('Connected with ' + address[0] + ':'
      + str(address[1]))
  • En primer lugar, importamos el socket que es necesario.
  • Luego hicimos un objeto socket y reservamos un puerto en nuestra pc.
  • Después de eso, vinculamos nuestro servidor al puerto especificado. Pasar una string vacía significa que el servidor también puede escuchar las conexiones entrantes de otras computadoras. Si hubiéramos pasado 127.0.0.1, habría escuchado solo aquellas llamadas realizadas dentro de la computadora local.
  • Después de eso, ponemos el servidor en modo de escucha. 9 aquí significa que 9 conexiones se mantienen en espera si el servidor está ocupado y si un décimo socket intenta conectarse, entonces se rechaza la conexión.

Ahora necesitamos algo con lo que un servidor pueda interactuar. Podríamos acceder al servidor de esta manera solo para saber que nuestro servidor está funcionando. Escribe estos comandos en la terminal:

# start the server
$ python server.py

Mantenga abierta la terminal anterior, ahora abra otra terminal y escriba:

$ telnet localhost 12345

Producción: python-socket-bind-and-listen-2 python-socket-bind-and-listen-2

Publicación traducida automáticamente

Artículo escrito por vipinyadav15799 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *