
Добавил:
Vanomaj
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab_4 / Socket_server
.py#!/usr/bin/env python3
import socket
import threading
import signal
stop_flag = False
def start():
# Создаем сокет
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('192.168.1.7', 1234))
server_socket.listen(5)
print("Сервер: Ожидание подключения…")
# Принимаем подключение от клиента
client_socket, addr = server_socket.accept()
print("Сервер: Принято подключение от", addr)
loop_cycle(server_socket, client_socket)
def loop_cycle(server_socket, client_socket):
global stop_flag
while True:
# Читаем данные от клиента
data = client_socket.recv(1024).decode('utf-8')
print("Сервер: Получено сообщение от клиента:", data)
# Обработка данных (в данном случае, просто отправляем обратно)
response = "Принято: " + data
client_socket.send(response.encode('utf-8'))
# Закрываем соединение с клиентом
if data == "exit" or stop_flag:
response = 'exit_1'
client_socket.send(response.encode('utf-8'))
client_socket.close()
server_socket.close()
print("Сервер: Закрыто соединение с клиентом.")
break
def signum(signum, frame):
global stop_flag
print("\nInterrupt by Ctrl+C")
stop_flag = True
if __name__ == "__main__":
serv = threading.Thread(None, start, name="MainServer")
serv.start()
signal.signal(signal.SIGINT, signum)
Соседние файлы в папке lab_4