server opens a listen socket client opens the socket server accepts server forks child: loop server sends data to new socket while socket is active