This is a TCP client and server