Files
TIMERS/RPL/main.py

164 lines
8.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()