TCP and UDP clients and servers

This commit is contained in:
Danila 2026-05-06 14:56:02 +03:00
parent 3eff79532a
commit 0de4a40bc1
6 changed files with 67 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.venv/
__pycache__/
.env

0
README.md Normal file
View File

8
tcp_client.py Normal file
View File

@ -0,0 +1,8 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 10000))
client.sendall(b'EXIT')
data = client.recv(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

31
tcp_server.py Normal file
View File

@ -0,0 +1,31 @@
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("0.0.0.0", 10000))
server.listen(1)
print("TCP сервер запущен")
while True:
conn, addr = server.accept()
print(f"Подключение от {addr}")
data = conn.recv(1024)
if not data:
conn.close()
break
conn.sendall(data.upper())
conn.close()
if data.upper() == b'EXIT':
print("Завершение работы сервера...")
break
server.close()

10
udp_client.py Normal file
View File

@ -0,0 +1,10 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
message = b'hello server'
client.sendto(message, ('127.0.0.1', 15000))
data, server_addr = client.recvfrom(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

15
udp_server.py Normal file
View File

@ -0,0 +1,15 @@
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('0.0.0.0', 15000))
print("UDP сервер запущен на порту 15000")
while True:
data, addr = server.recvfrom(1024)
message = data.decode()
print(f"Получено от {addr}: {message}")
modified_message = f"ECHO: {message.upper()} (len: {len(message)})"
server.sendto(modified_message.encode(), addr)