Учебный проект GeekBrains (сервер и клиент)
- аутентификация и регистрация клиентов
- проверка от повторного входа
- диспетчеризация сообщений от клиентов
- сохранение истории сообщений при выходе клиента
- загрузка истории сообщение при входе клиента
- изменение имени клиента
- ведение лога
- отключение клиента на этапе процедуры логина/регистрации при неактивности в течении заданного времени.1
- база данных пользователей, истории сообщений, лог-файл создаются в домашнем каталоге пользователя.2
- при старте проекта опционально можно очистить историю всех пользователей и создать дефолтных пользователей в БД.3
git clone https://github.com/igojig/ServerConsole
chcp 1251
mvn clean package
cd /target
java -jar Server-jar-with-dependencies.jar
или запуск из IDE
1. отключение клиента на этапе процедуры логина/регистрации при неактивности в течении заданного времени
public class ClientHandler{
public static final int WAIT_USER_AUTHORISATION_TIMEOUT = 60 * 1000;
}
2. база данных пользователей, истории сообщений, лог-файл создаются в домашнем каталоге пользователя
-
[user.home]/chat_
-
[user.home]/chat_/history
каталог назначение ${env:user.home}/chat_
лог;
база данных(users.db);${env:user.home}/chat_/history
история клиентов в текстовом формате;
public class LocalFileService {
public static final String USER_HOME_DIR_ENVIRONMENT_VARIABLE = "user.home";
public static final String STORAGE_DIR = "chat_";
public static final String HISTORY_DIR = "history";
3. при старте проекта опционально можно очистить историю всех пользователей и создать дефолтных пользователей в БД
public class ServerApp {
private static final boolean INIT_DB = true;
private static final boolean CLEAR_HISTORY = true;
}