Develop a program to communicate with multiple users on a network created on java sockets. Be able to create private and group dialogue.
- Connect/Disconnect from server
- Send message to selected chat
- Create private chat with online user
- Invite users to chat
- All user actions do not take place in the application, but send an appropriate request to the server and receive a response, the processing of which is provided in advance.
- When a user connects to the server, he is added to the list of connected users, which is sent to all clients. Shutdown works the same way.
- There is a main group chat "Group chat" which cannot be deleted. All connected users are added to it.
- Communication between the user and the server takes place using serializable DTO objects.
- To simplify the creation of DTO objects, a third-party lombok library was used.