intro to sockets