programming challenge to create a tcp server