import socket import requests def send_data(value): url = "http://127.0.0.1:8088/API/" par = "SetText" if 'проверка' in value: input = 34 else: input = 35 if "-" in value: params = { "Function": par, "Input": input, "SelectedName": "СТрока1.Text", "Value": value.split("-")[0].strip(), } requests.get(url, params=params) params = { "Function": par, "Input": input, "SelectedName": "Строка2.Text", "Value": value.split("-")[1].strip(), } requests.get(url, params=params) VOR = "VOR3" list_code = { "101": "Приветствие", "102": "Инфо", "103": "Игра проходит без системы определения офсайдных линий", "104": "Игра проходит без системы VAR", "105": "Проверка", "106": "проверка - Офсайд", "107": "проверка - Возможно, офсайд", "108": "проверка - Игра рукой", "109": "проверка - Фол в атаке", "110": "проверка - Симуляция", "111": "Игра проходит с системой VAR", "112": "Игра проходит с ограниченными техническими возможностями", "113": "Объявление решения", "114": "Неисправность системы объявления решений судьи", "115": "Не используется система объявления решений судьи", "116": "Решение подтверждено - офсайд", "117": "Нет офсайда", "118": "Возможно игра рукой в атаке", "119": "проверка - Игра рукой в атаке", "201": "проверка - Гол", "202": "Решение подтверждено - гол", "203": "Решение подтверждено - гол, нет офсайда", "204": "Решение подтверждено - гол, нет фола", "205": "Решение подтверждено - гол, нет игры рукой", "206": "Решение подтверждено - гол, мяч в игре", "207": "Решение подтверждено - гол, симуляция", "208": "Решение подтверждено - гол, мяч пересек линию ворот", "209": "Решение изменено - нет гола, офсайд", "210": "Решение изменено - нет гола, фол", "211": "Решение изменено - нет гола, игра рукой", "212": "Решение изменено - нет гола, мяч не в игре", "213": "Решение изменено - нет гола, мяч не пересек линию ворот", "301": "проверка - Возможно, гол", "302": "Решение подтверждено - нет гола", "303": "Решение подтверждено - нет гола, офсайд", "304": "Решение подтверждено - нет гола, фол", "305": "Решение подтверждено - нет гола, игра рукой", "306": "Решение подтверждено - нет гола, мяч не в игре", "307": "Решение подтверждено - нет гола, мяч не пересек линию ворот", "308": "Решение изменено - гол", "309": "Решение изменено - гол, нет офсайда", "310": "Решение изменено - гол, нет фола", "311": "Решение изменено - гол, нет игры рукой", "312": "Решение изменено - гол, мяч в игре", "313": "Решение изменено - гол, симуляция", "314": "Решение изменено - гол, мяч пересек линию ворот", "401": "проверка - Пенальти", "402": "Решение подтверждено - пенальти", "403": "Решение подтверждено - пенальти, фол", "404": "Решение подтверждено - пенальти, игра рукой", "405": "Решение подтверждено - пенальти, фол в штрафной", "406": "Решение подтверждено - пенальти, игра рукой в штрафной", "407": "Решение изменено - нет пенальти, нет фола", "408": "Решение изменено - нет пенальти, нет игры рукой", "409": "Решение изменено - нет пенальти, фол за штрафной", "410": "Решение изменено - нет пенальти, офсайд", "411": "Решение изменено - нет пенальти, фол в атаке", "412": "Решение изменено - нет пенальти, игра рукой в атаке", "413": "Решение изменено - нет пенальти, мяч не в игре", "414": "Решение изменено - нет пенальти, симуляция", "501": "проверка - Возможно, пенальти", "502": "Решение подтверждено - нет пенальти", "503": "Решение подтверждено - нет пенальти, нет фола", "504": "Решение подтверждено - нет пенальти, нет игры рукой", "505": "Решение подтверждено - нет пенальти, фол за штрафной", "506": "Решение подтверждено - нет пенальти, офсайд", "507": "Решение подтверждено - нет пенальти, фол в атаке", "508": "Решение подтверждено - нет пенальти, игра рукой в атаке", "509": "Решение подтверждено - нет пенальти, мяч не в игре", "510": "Решение подтверждено - нет пенальти, симуляция", "511": "Решение изменено - пенальти", "512": "Решение изменено - пенальти, фол", "513": "Решение изменено - пенальти, игра рукой", "514": "Решение изменено - пенальти, фол в штрафной", "515": "Решение изменено - пенальти, игра рукой в штрафной", "516": "Решение изменено – пенальти, нет симуляции", "601": "проверка - Красная карточка", "602": "Решение подтверждено - красная карточка", "603": "Решение изменено - жёлтая карточка", "604": "Решение изменено - нет карточки", "701": "проверка - Возможно, красная карточка", "702": "Решение подтверждено - нет красной карточки", "703": "Решение изменено - красная карточка", "704": "Решение изменено - жёлтая карточка", "801": "проверка - Идентификация игрока", "802": "Ошибочная идентификация игрока", } HOST = '127.0.0.1' # Принимаем соединения со всех интерфейсов PORT = 60000 # Порт, который будем слушать def start_tcp_server(): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket: server_socket.bind((HOST, PORT)) server_socket.listen(5) print(f"Сервер запущен на {HOST}:{PORT}") while True: client_socket, addr = server_socket.accept() with client_socket: print(f"Клиент подключился: {addr}") while True: data = client_socket.recv(1024) if not data: break try: decoded = data.decode('utf-8') print(f"Получено: {decoded}") send_data(list_code[decoded.split("/")[2]]) # parts = decoded.split(", ") # if len(parts) != 2: # print("Неверный формат сообщения") # continue # sender, code = parts # if sender == VOR and code in list_code: # send_data(list_code[code]) # else: # print("Неверный код или отправитель") except Exception as e: print(f"Ошибка обработки данных: {e}") print(f"Отключение клиента: {addr}") if __name__ == "__main__": start_tcp_server()