Just create a loop, and inside the loop create a separate thread or task for each client.
In the thread code, create the socket, connect it, and do whatever you have to with it.
This is probably a good starting place as it allows progress reporting back to teh original UI thread for display updates:
BackgroundWorker Class (System.ComponentModel) | Microsoft Docs[
^]