Make it compiles and works, it should print the current date (ex: Sat Oct 23 16:28:52 2021)
Using reference counters in shared_ptr and unique_ptr, you can keep a socket alive, however you have no way to have a list of the current sockets connected to your server. In the current example, where the server only prints today's date, it is not useful. However, if you want to communicate with every client connected to your server, it can be tricky. In the server.cpp file, find a way to keep a reference to the socket that connected to your server, to have a list of every socket connected to your server.
Each time a client send "hello everyone", send "hello" to every socket connected to the server.
Create a thread pool to make your server work with multiple threads.