Skip to content
Snippets Groups Projects
Commit fa99b8b1 authored by root's avatar root
Browse files

classwork0318

parent 97c0db71
No related branches found
No related tags found
No related merge requests found
# import socket
# import sys
# host = "localhost" if len(sys.argv) < 2 else sys.argv[1]
# port = 1339 if len(sys.argv) < 3 else int(sys.argv[2])
# with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
# s.bind((host, port))
# s.listen()
# conn, addr = s.accept()
# with conn:
# print('Connected by', addr)
# while data := conn.recv(1024):
# print(data)
# conn.sendall(data.swapcase())
# s.close()
# import socket
# import sys
# import multiprocessing
# def serve(conn, addr):
# with conn:
# print('Connected by', addr)
# while data := conn.recv(1024):
# conn.sendall(data.swapcase())
# host = "localhost" if len(sys.argv) < 2 else sys.argv[1]
# port = 1337 if len(sys.argv) < 3 else int(sys.argv[2])
# with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
# s.bind((host, port))
# s.listen()
# while True:
# conn, addr = s.accept()
# multiprocessing.Process(target=serve, args=(conn, addr)).start()
import socket
import sys
def handle_command(command, params, conn):
if command == "print":
conn.sendall(f"{str(params.encode())}\n")
elif command == "info":
if params == "host":
conn.sendall(f"Host: {conn.getpeername()[0]}\n".encode())
elif params == "port":
conn.sendall(f"Port: {conn.getpeername()[1]}\n".encode())
else:
conn.sendall("Invalid info parameter. Use 'host' or 'port'.\n".encode())
else:
conn.sendall("Unknown command. Try 'print' or 'info'.\n".encode())
host = "localhost" if len(sys.argv) < 2 else sys.argv[1]
port = 1344 if len(sys.argv) < 3 else int(sys.argv[2])
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((host, port))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while data := conn.recv(1024).decode().strip():
if not data:
break
print(data)
command, *params = data.split()
handle_command(command, ' '.join(params), conn)
s.close()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment