Echo server and client using python socket
To develop a simple webserver to serve html programming pages.
- Design of echo server and client using python socket
- Implementation using Python code
- Testing the server and client
- Run the server side first that listening (or) waiting the client side.
- After that run the client side.
- finally we got the output as "HELLO! WORLD"
import socket
HOST = "127.0.0.1" # The server's hostname or IP address
PORT = 65432 # The port used by the server
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b"Hello, world")
data = s.recv(1024)
print(f"Received {data!r}")
import socket
HOST = "127.0.0.1" # Standard loopback interface address (localhost)
PORT = 65432 # Port to listen on (non-privileged ports are > 1023)
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
try:
s.bind((HOST, PORT))
except Exception as e:
print(f"Error binding to {HOST}:{PORT}: {e}")
exit()
s.listen()
print(f"Listening on {HOST}:{PORT}...")
try:
conn, addr = s.accept()
except Exception as e:
print(f"Error accepting connection: {e}")
exit()
with conn:
print(f"Connected by {addr}")
while True:
try:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
except Exception as e:
print(f"Error receiving/sending data: {e}")
exit()
![image](https://private-user-images.githubusercontent.com/93427240/264524066-8b032737-da85-4378-9440-f20c7636cc9d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTk3NzYsIm5iZiI6MTcyMjExOTQ3NiwicGF0aCI6Ii85MzQyNzI0MC8yNjQ1MjQwNjYtOGIwMzI3MzctZGE4NS00Mzc4LTk0NDAtZjIwYzc2MzZjYzlkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI3VDIyMzExNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJlNDVmY2I5MTBiMWJlNjhlNTc5MjFiODcwODcyMmI2MmVmNDJmYzFlZmIzZGIyOTQ1NzBiNWE4ZTY0Yzk1OGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.w80Wdp5Bl43Z55PIHTVVO9IXGridu6c_Sm6y5ukxO1g)
![image](https://private-user-images.githubusercontent.com/93427240/264523924-55175569-07ae-40ce-b338-44ed99cb8da3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTk3NzYsIm5iZiI6MTcyMjExOTQ3NiwicGF0aCI6Ii85MzQyNzI0MC8yNjQ1MjM5MjQtNTUxNzU1NjktMDdhZS00MGNlLWIzMzgtNDRlZDk5Y2I4ZGEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI3VDIyMzExNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVjYTMzZmU2YWZjZmY5YWY2ODAyYzY0ZGE3MzNjYzVkYzY0MDFhNTRiM2IyOGJhOWYxMTE5N2RjNzg5NWRlNjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ubRtoCI3yu9eAxrEseh937epnYr9JPkuBXuocQKZ2po)
The program is executed successfully