A curriculum design. It is mainly for socket programming practice. You can see clearly how it works and track every status change like log in, log out, message sending, etc.
server: listening on clients and update messages client: log in and check other clients' status; private chat; group chat; delete