3laba/tcp_server.py

33 lines
1.2 KiB
Python

import socket
# Создаем TCP сокет (SOCK_STREAM)
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Привязываем сокет к адресу и порту
server.bind(("0.0.0.0", 10000))
# Начинаем слушать входящие соединения (1 - максимальное количество ожидающих соединений)
server.listen(1)
print("TCP сервер запущен на порту 10000")
while True:
# Принимаем соединение
conn, addr = server.accept()
print(f"Подключение от {addr}")
# Получаем данные (максимум 1024 байта)
data = conn.recv(1024)
if not data:
break
# Отправляем данные обратно в верхнем регистре
conn.sendall(data.upper())
print(f"Отправлено: {data.upper().decode()}")
# Закрываем соединение
conn.close()
# Если получена команда EXIT, завершаем работу сервера
if data.upper() == b'EXIT':
break
server.close()
print("TCP сервер остановлен")