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:
Publicación traducida automáticamente
Artículo escrito por vipinyadav15799 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA