Requisito previo: programación de sockets en Python
En esta solución, usamos el concepto de Programación de Sockets para establecer la comunicación entre dos computadoras.
Programación de sockets en Python
La programación de sockets es una forma de conectar dos sistemas en una red para comunicarse entre sí. Los sockets son los puntos finales creados para enviar y recibir datos y es una combinación de dirección IP y puerto. Importaremos el módulo de socket para usar la programación de socket en Python. Los siguientes son los métodos necesarios para construir la solución:
Métodos en el módulo de socket:
Método | Descripción |
zócalo.zócalo(). | Crear enchufes. |
socket.bind() | Este método vincula el nombre de host y el nombre de puerto al socket. |
socket.escucha() | Este método inicia la escucha TCP. |
socket.aceptar() | Acepte la conexión del cliente y espere hasta que llegue la conexión. |
socket.conectar() | Iniciar conexión TCP. |
socket.cerrar() | Cierra el enchufe. |
Otros métodos de enchufe:
Método | Descripción |
s.recv() | Recibe mensaje TCP |
s.enviar() | Envía mensaje TCP |
socket.gethostname() | Devuelve el nombre de host |
Entonces, tenemos que desarrollar dos programas en Python, uno es master.py (servidor) y otro es slave.py (cliente), usando master.py podemos controlar el sistema que tiene el programa slave.py. Para controlar la PC desde cualquier lugar usando Python, siga los pasos que se mencionan a continuación:
Paso 1: crea y ejecuta «master.py» en una terminal
Python3
import time import socket import sys import os # Initialize s to socket s = socket.socket() # Initialize the host host = socket.gethostname() # Initialize the port port = 8080 # Bind the socket with port and host s.bind(('', port)) print("waiting for connections...") # listening for connections s.listen() # accepting the incoming connections conn, addr = s.accept() print(addr, "is connected to server") # take command as input command = input(str("Enter Command :")) conn.send(command.encode()) print("Command has been sent successfully.") # receive the confirmation data = conn.recv(1024) if data: print("command received and executed successfully.")
Paso 2: crear y ejecutar el «slave.py» es otra terminal
Python3
import time import socket import sys import os # Initialize s to socket s = socket.socket() # Initialize the host host = "127.0.0.1" # Initialize the port port = 8080 # bind the socket with port and host s.connect((host, port)) print("Connected to Server.") # receive the command from master program command = s.recv(1024) command = command.decode() # match the command and execute it on slave system if command == "open": print("Command is :", command) s.send("Command received".encode()) # you can give batch file as input here os.system('ls')
Producción:
Publicación traducida automáticamente
Artículo escrito por abhijitmahajan772 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA