Они могут показаться сложными, но материал ASync Socket не так уж и плох, и есть много примеров того, как его реализовать.Асинхронность упрощает одновременную обработку нескольких соединений, поэтому я рекомендую еще раз взглянуть на это.
Я не использовал его сам, но класс TCPListener выглядит проще в реализации и поставляетсяс некоторыми примерами его использования.