1. Fixed the server crashing problem once a client disconncts.
2. sends a reply to the client if an invalid receipient is specified.
Fixed the issue of server crashing when a client tries to connect with an existing user name
Added logging
Code cleaned
Client does not exit when server goes down, waits in a loop