From c13940216b564cd0d9d0c6a4b418983a054eee43d4aac7c98cf3698e85b2619c Mon Sep 17 00:00:00 2001 From: AidarKC Date: Wed, 31 Dec 2025 21:41:58 +0300 Subject: [PATCH] =?UTF-8?q?31=2012=2025=20=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine-main Описание базовых классов.md | 0 DOC/libs/shine-server-protocol/doc.md | 52 +++++++++++++++++++ .../binary/handlers/MessageHandler.java | 11 ---- 3 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 DOC/libs/shine-main Описание базовых классов.md create mode 100644 DOC/libs/shine-server-protocol/doc.md delete mode 100644 src/main/java/server/logic/ws_protocol/binary/handlers/MessageHandler.java diff --git a/DOC/libs/shine-main Описание базовых классов.md b/DOC/libs/shine-main Описание базовых классов.md new file mode 100644 index 0000000..473a0f4 diff --git a/DOC/libs/shine-server-protocol/doc.md b/DOC/libs/shine-server-protocol/doc.md new file mode 100644 index 0000000..9156ecb --- /dev/null +++ b/DOC/libs/shine-server-protocol/doc.md @@ -0,0 +1,52 @@ +shine-server-protocol +Библиотека JSON-протокол поверх WebSocket для взаимодействия с клиентами. + + + +Всё общение — JSON поверх WebSocket +Формат всегда один: + +request: op + requestId + payload +response: op + requestId + status + payload + + +Net_Event / Net_Request / Net_Response +Базовые классы протокола. +requestId связывает запрос и ответ, status = результат. + +Хэндлер = логика операции +Каждый op обрабатывается своим JsonMessageHandler. + +Entities (Request / Response) +DTO-классы для Jackson: + +Net_Xxx_Request — что приходит от клиента + +Net_Xxx_Response — что уходит клиенту + +JsonHandlerRegistry +Связывает: + +op → RequestClass +op → Handler + + +JsonInboundProcessor +Единая точка входа: +парсит JSON → маппит payload → вызывает handler → собирает ответ JSON. + +Папки по темам + +auth/ — авторизация и сессии +(AuthChallenge → CreateAuthSession → Refresh / List / Close) + +blockchain/ — AddBlock + +tempToTest/ — AddUser (временный, потом уйдёт в блокчейн-логику) + +ConnectionContext +Состояние одного WebSocket-подключения (login, session, authStatus). + +ActiveConnectionsRegistry +Глобальный реестр активных авторизованных соединений +(нужно для закрытия других сессий). \ No newline at end of file diff --git a/src/main/java/server/logic/ws_protocol/binary/handlers/MessageHandler.java b/src/main/java/server/logic/ws_protocol/binary/handlers/MessageHandler.java deleted file mode 100644 index ba4fb05..0000000 --- a/src/main/java/server/logic/ws_protocol/binary/handlers/MessageHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -package server.logic.ws_protocol.binary.handlers; - -/** - * Общий интерфейс для всех обработчиков входящих сообщений. - */ -public interface MessageHandler { - /** - * Обработать входящее сообщение и вернуть бинарный ответ. - */ - byte[] handle(byte[] msg); -}