164 lines
8.9 KiB
Python
164 lines
8.9 KiB
Python
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()
|