a chat server and client