Чат на сокетах с функционалом кастомных команд Формат сообщений, которыми обмениваются пользователи имеет вид: [<Время>|<Имя пользователя>] <Сообщение> Пример:
[12:35:12|Kraken] Hi there
[12:35:34|Kraken] Anybody here
[12:35:45|Kraken] /help
[12:36:02|SYSTEM]>/help - help
[12:36:02|SYSTEM]>/register - rename
[12:36:02|SYSTEM]>/close - close
[12:36:75|Kraken] /help
При подключении клиенту необходимо зарегестрироваться командой /register После этого, ему будет доступен чат.
В корневом каталоге Chat выполнить mvn package
. В корне появится папка target. В ней и будут нужные исполняемые jar.
Server.jar <Port>
- Сервер, может иметь один параметр - порт. Если не указан берется по умолчанию 8989
Client.jar <Name> <HostName> <Port>
- Клиент. Имеет 3 параметра. Если не заданы, используются значения по умолчанию - default
, 127.0.0.1
,8989
.
LoadClient.jar <outputPath> <clientCount> <delay> <spamCount>
- Приложение для нагрузочного тестирования. Создает клиентов и спамит сообщениями.
Имеет следующие параметры:
OutputPath
- путь до папки, где будут создаваться файлы, в которые будет перенаправляться вывод каждого клиента. Путь должен оканчиваться\
, напримерC:\Chat\
ClientCount
- Колличество клиентов, которое будет созданоDelay
- Задержка между сообшениями у каждого клиента, задается в секундахspamCount
- Колличество сообщений которое должен наспамить каждый клиент.
Запускаем сервер.
Запускаем клиент, если запустить без параметра то имя по умолчанию будет установлено defaul. По умолчанию при старте с клиента отправляется команда /register с заданным именем. Если такое имя уже есть, то будет выведенно сообщение об этом, и необходимо будет выполнить команду /register самостоятельно с другим именем
Для завершения работы на клиенте выполняем команду /close