Реализована функции отправки пакетов клиенту

This commit is contained in:
RoyceDa
2026-02-03 00:18:53 +02:00
parent f4be7b4e00
commit c22d2de4be
6 changed files with 55 additions and 8 deletions

View File

@@ -48,6 +48,14 @@ public class Server extends WebSocketServer {
this.context = context;
}
/**
* Конструктор сервера с объектом прикрепления и слушателем событий сервера
* @param settings базовые настройки серверера
* @param packetManager менеджер пакетов (обработчиков и зарегистрированных пакетов)
* @param context вложение которое будет передаваться всем серрверным обработчикам пакетов,
* @param listener слушатель событий сервера
* может быть использовано для передачи контекста приложения
*/
public Server(Settings settings, PacketManager packetManager, Context context, ServerListener listener) {
super(new InetSocketAddress(settings.port));
this.settings = settings;
@@ -114,8 +122,8 @@ public class Server extends WebSocketServer {
client.disconnect(ServerFailures.UNSUPPORTED_PACKET);
return;
}
Class<? extends Packet> packetClass = this.packetManager.getPacketClass(packetId);
Class<? extends Packet> packetClass = this.packetManager.getPacketClass(packetId);
try {
Packet packet = packetClass.getConstructor().newInstance();
packet.packetId = packetId;
@@ -150,7 +158,7 @@ public class Server extends WebSocketServer {
* Передаем интервал heartbeat из настроек сервера.
* Если клиент не отправляет heartbeat в указанный интервал, его можно отключить.
*/
Client client = new Client(socket, this.settings.heartbeatInterval);
Client client = new Client(socket, this.settings.heartbeatInterval, this.packetManager);
socket.setAttachment(client);
if(this.listener == null){
return;