You might like to follow the CodeBank link in my signature and check out my Asynchronous TCP thread. It's not exactly the same scenario as yours but you should still be able to get some ideas on the multi-threading side of things, which is also built into the Socket class.