learning to use sockets and servers