You should never have an endless loop like that. You need to add a Thread.Sleep in there or you will be completely eating up all your CPU cycles. Your Main function also exits right away, resulting in your application effectively shutting down. Have a look at the stand-alone server example that comes with TNet. It has a main function, and it enters an input loop there, thus preventing the application from terminating.