Создание многопоточного сервера TCP / IP

Я хочу создать сервер TCP / IP, который будет использоваться до 100 одновременно работающих клиентов, но все еще не знаю, с чего начать.

по крайней мере мне нужен сервер для этого:

Прослушивание клиента и сохранение всех их в массиве или списке.для каждого клиента необходимо получать и отправлять данные в зависимости от статуса клиента.Сервер должен обновлять список клиентов, когда кто-то подключается или отключается.Предпочитаю работать как сервис с GUI для управления им.

Может ли кто-нибудь помочь, как начать с этим, я посмотрел на образец indy, но они не помогли, также посмотрел на большинство компонентов, но все еще ищет.