Introduction
Hello everyone, in this tutorial we are going to learn how to control the PC from anywhere using Python. For this purpose, we are going to understand the concept of socket programming. We are using sockets to establish communication between two PCs by connecting them over the network.
We will understand this in brief as we move forward with our code. A detailed explanation of each line of code and comments are provided to understand the program properly.
Here we are performing communication between two different PCs. So we need two different programs which will run on two different terminals. We will name the two programs serverprog.py and clientprog.py.
We are providing some functions and their description used in this project.
Function | Description |
---|---|
socket.socket(). | Create sockets. |
socket.bind() | This binds hostname and portname to the socket. |
socket.listen() | This starts the TCP listener. |
socket.accept() | Accept client connection and waits till the connection arrives. |
socket.connect() | Initiates the TCP connection. |
s.recv() | It receives TCP message |
s.send() | It sends TCP message |
socket.gethostname() | It returns hostname |
So Let’s begin with the programs
Import Function
import time import socket import sys import os
Here we are importing four different modules time, socket, sys, and os. The time module allows working with the functionality of time. The socket module is performing connections between 2 nodes on the network. The sys module is providing valuable information about the Python interpreter. The os module interacts with the operating system.
Develop a code to create the connection with client program
soc = socket.socket() host = socket.gethostname() port = 8080 soc.bind(('', port)) print("waiting for connections...") soc.listen() conn, addr = soc.accept() print(addr, "is connected to server") command = input(str("Enter Command :")) conn.send(command.encode()) print("Command has been sent successfully.") data = conn.recv(1024) if data: print("command received and executed successfully.")
In this code block, we are creating the variable soc of socket type which creates the socket. The host variable takes the hostname. Initialize the port to 8080. The hostname and port get binds to each other, till the time it waits for a connection. The soc.listen() functions waits for TCP listener .soc.accept()function accepts the connection and stores in the variable conn,addr. Once the connection happens it prints the message “is connected to server”.
The command variable takes the input and sends the TCP message to the client to encode. The data variable stores the received message from the client. Once we receive the message in the data variable it prints the message “command received and executed successfully”
Develop a code to create the connection with the server program
soc = socket.socket() host = "127.0.0.1” port = 8080 soc.connect((host, port)) print("Connected to Server.") command = soc.recv(1024) command = command.decode() if command == "open": print("Command is :", command) soc.send("Command received".encode()) os.system('test.bat')
Here in the client part, we are creating the soc variable. Initializing the host variable to “127.0.0.1″ and port to 8080. The soc.connect((host, port)) initiates the TCP connection and binds the socket to the host and port. The command that we received from the server is stored here in the command variable .command.decode() function decodes the message. If the decoded message and command the user input is the same then print the command. The soc.send () function sends the TCP message by encoding it. Here we are providing the file name in os.system to display the output.
Complete Code for Control PC from anywhere using Python
Exceute the program serverprog.py
import time
import socket
import sys
import os
# Initialize soc to socket
soc = socket.socket()
# Initialize the host
host = socket.gethostname()
# Initialize the port
port = 8080
# Bind the socket with port and host
soc.bind(('', port))
print("waiting for connections...")
# listening for connections
soc.listen()
# accepting the incoming connections
conn, addr = soc.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.")
Execute the program clientprog.py
import time
import socket
import sys
import os
# Initialize soc to socket
soc = socket.socket()
# Initialize the host
host = "127.0.0.1"
# Initialize the port
port = 8080
# bind the socket with port and host
soc.connect((host, port))
print("Connected to Server.")
# receive the command from server program
command = soc.recv(1024)
command = command.decode()
# match the command and execute it on client system
if command == "open":
print("Command is :", command)
soc.send("Command received".encode())
# #give the file name as input
os.system('test.bat')
Output
After executing the serverprog.py
After executing the clientprog.py
Here we have successfully formed the connection between two nodes on the network.
For more such articles on python keep visiting our website www.violet-cat-415996.hostingersite.com.
Thank you for reading this article.
Also Read:
- Download 1000+ Projects, All B.Tech & Programming Notes, Job, Resume & Interview Guide, and More – Get Your Ultimate Programming Bundle!
- Music Recommendation System in Machine Learning
- Create your own ChatGPT with Python
- SQLite | CRUD Operations in Python
- Event Management System Project in Python
- Ticket Booking and Management in Python
- Hostel Management System Project in Python
- Sales Management System Project in Python
- Bank Management System Project in C++
- Python Download File from URL | 4 Methods
- Python Programming Examples | Fundamental Programs in Python
- Spell Checker in Python
- Portfolio Management System in Python
- Stickman Game in Python
- Contact Book project in Python
- Loan Management System Project in Python
- Cab Booking System in Python
- Brick Breaker Game in Python
- 100+ Java Projects for Beginners 2023
- Tank game in Python
- GUI Piano in Python
- Ludo Game in Python
- Rock Paper Scissors Game in Python
- Snake and Ladder Game in Python
- Puzzle Game in Python
- Medical Store Management System Project in Python
- Creating Dino Game in Python
- Tic Tac Toe Game in Python
- Courier Tracking System in HTML CSS and JS
- Test Typing Speed using Python App