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 el 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.
La programación de sockets se inicia importando la biblioteca de sockets y creando un socket simple.
import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Aquí creamos una instancia de socket y le pasamos dos parámetros. El primer parámetro es AF_INET y el segundo es SOCK_STREAM . AF_INET se refiere a la familia de direcciones ipv4. El SOCK_STREAM significa protocolo TCP orientado a la conexión.
Nota: Para obtener más información, consulte Programación de sockets en Python
Ahora podemos conectarnos a un servidor usando Servidor:
Un servidor es un programa que brinda servicio a otras computadoras en la red o Internet. De manera similar, un cliente es un programa que recibe servicios del servidor. Cuando un servidor quiere comunicarse con un cliente, se necesita un socket. Un socket es un punto de conexión entre el servidor y el cliente.
Programa de servidor TCP/IP que envía mensajes al cliente.
Python3
import socket # take the server name and port name host = 'local host' port = 5000 # create a socket at server side # using TCP / IP protocol s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # bind the socket with server # and port number s.bind(('', port)) # allow maximum 1 connection to # the socket s.listen(1) # wait till a client accept # connection c, addr = s.accept() # display client address print("CONNECTION FROM:", str(addr)) # send message to the client after # encoding into binary string c.send(b"HELLO, How are you ? \ Welcome to Akash hacking World") msg = "Bye.............." c.send(msg.encode()) # disconnect the server c.close()
Programa de servidor TCP/IP que recibe mensajes del servidor.
Python3
import socket # take the server name and port name host = 'local host' port = 5000 # create a socket at client side # using TCP / IP protocol s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # connect it to server and port # number on local computer. s.connect(('127.0.0.1', port)) # receive message string from # server, at a time 1024 B msg = s.recv(1024) # repeat as long as message # string are not empty while msg: print('Received:' + msg.decode()) msg = s.recv(1024) # disconnect the client s.close()
Nota: Abra en dos ventanas DOS separadas y primero ejecute el servidor, luego ejecute el cliente.
Salida del servidor:
Salida del cliente:
Publicación traducida automáticamente
Artículo escrito por akash22675 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA