файлы TCP and UDP

This commit is contained in:
Виктор Пичугин 2025-04-04 18:58:54 +03:00
parent 97366df035
commit 7eae67847a
4 changed files with 72 additions and 0 deletions

10
tcp_client.py Normal file
View File

@ -0,0 +1,10 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 10000))
# Отправляем сообщение 'EXIT' для завершения работы сервера
client.sendall(b'EXIT')
data = client.recv(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

20
tcp_server.py Normal file
View File

@ -0,0 +1,20 @@
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:
break
conn.sendall(data.upper())
conn.close()
if data.upper() == b'EXIT':
break

16
udp_client.py Normal file
View File

@ -0,0 +1,16 @@
import socket
# Новый порт для UDP клиента
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Сообщение, которое будет отправлено на сервер
message = b'hello server'
# Отправляем сообщение серверу
client.sendto(message, ('127.0.0.1', 20001)) # Новый порт 20001
# Получаем и выводим модифицированные данные от сервера
data, _ = client.recvfrom(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

26
udp_server.py Normal file
View File

@ -0,0 +1,26 @@
import socket
# Новый порт для UDP-сервера
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('0.0.0.0', 20001)) # Новый порт 20001
print("UDP сервер запущен на порту 20001")
while True:
# Получаем данные от клиента
data, addr = server.recvfrom(1024)
if not data:
continue
print(f"Получено сообщение от {addr}: {data.decode()}")
# Модифицируем данные: преобразуем в верхний регистр и добавляем префикс
modified_data = b"Modified: " + data.upper()
# Отправляем модифицированные данные обратно клиенту
server.sendto(modified_data, addr)
# Дополнительное условие для завершения работы
if data.upper() == b'EXIT':
break
server.close()