¿Cómo controlar la PC desde cualquier lugar usando Python?

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:

server terminal

terminal ejecutando master.py

client terminal

terminal ejecutando slave.py

Publicación traducida automáticamente

Artículo escrito por abhijitmahajan772 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 *