diff --git a/src/main/java/com/rosetta/im/ServerAdapter.java b/src/main/java/com/rosetta/im/ServerAdapter.java new file mode 100644 index 0000000..f0c546c --- /dev/null +++ b/src/main/java/com/rosetta/im/ServerAdapter.java @@ -0,0 +1,36 @@ +package com.rosetta.im; + +import io.orprotocol.Server; +import io.orprotocol.ServerListener; +import io.orprotocol.client.Client; +import io.orprotocol.packet.Packet; + +public class ServerAdapter implements ServerListener { + + @Override + public void onServerStart(Server server) {} + + @Override + public void onServerStop(Server server) {} + + @Override + public boolean onClientConnect(Server server, Client client) { + + return true; + } + + @Override + public void onClientDisconnect(Server server, Client client) {} + + @Override + public void onError(Server server, Exception exception) { + System.out.println("Server error: " + exception.getMessage()); + } + + @Override + public boolean onPacketReceived(Server server, Client client, Packet packet) { + + return true; + } + +} diff --git a/src/main/java/io/orprotocol/Server.java b/src/main/java/io/orprotocol/Server.java index 25122ac..26dde38 100644 --- a/src/main/java/io/orprotocol/Server.java +++ b/src/main/java/io/orprotocol/Server.java @@ -130,9 +130,9 @@ public class Server extends WebSocketServer { PacketExecutor executor = executorClass.getConstructor().newInstance(); executor.settings = this.settings; executor.context = this.context; - if(listener != null && listener.onPacketReceived(this, client, packet)) { + if(listener != null && !listener.onPacketReceived(this, client, packet)) { /** - * Если слушатель сервера вернул true, пакет не обрабатываем. + * Если слушатель сервера вернул false, пакет не обрабатываем. */ return; } @@ -155,7 +155,7 @@ public class Server extends WebSocketServer { if(this.listener == null){ return; } - if(this.listener.onClientConnect(this, client)) { + if(!this.listener.onClientConnect(this, client)) { client.disconnect(ServerFailures.SERVER_NOT_ACCEPT_CLIENT); return; } diff --git a/src/main/java/io/orprotocol/ServerListener.java b/src/main/java/io/orprotocol/ServerListener.java index bff82c4..6daacb1 100644 --- a/src/main/java/io/orprotocol/ServerListener.java +++ b/src/main/java/io/orprotocol/ServerListener.java @@ -6,19 +6,19 @@ import io.orprotocol.packet.Packet; public interface ServerListener { /** * Сервер запущен - * @param server + * @param server сервер */ void onServerStart(Server server); /** * Сервер остановлен - * @param server + * @param server сервер */ void onServerStop(Server server); /** - * Клиент подключился - * @param server - * @param client - * @return если возвращено true значит клиент не будет подключен к серверу выбросится + * Клиент подключился, вернуть false чтобы отклонить подключение + * @param server сервер + * @param client клиент + * @return если возвращено false значит клиент не будет подключен к серверу выбросится * ошибка SERVER_NOT_ACCEPT_CLIENT */ boolean onClientConnect(Server server, Client client); @@ -30,16 +30,16 @@ public interface ServerListener { void onClientDisconnect(Server server, Client client); /** * Произошла ошибка сервера - * @param server - * @param exception + * @param server сервер + * @param exception исключение */ void onError(Server server, Exception exception); /** * Пакет получен от клиента - * @param server - * @param client - * @param packet - * @return если возвращено true значит пакет не будет обработан дальше + * @param server сервер + * @param client клиент + * @param packet пакет + * @return если возвращено false значит пакет не будет обработан дальше */ boolean onPacketReceived(Server server, Client client, Packet packet); }