I was just wondering if a Asyncronous Socket server could be considered a Multi-Threaded server? By design, an Asyncronous socket server makes calls on new threads, yet not using the Threading Namespace. The Asyncronous server seems to act identical to a multithreaded socket server as far as needing to SyncLock, etc, ie, sharing the same problems as a mthreaded server. I'm just wondering if there are any real differences between the two? As far as I can tell, the only real difference is with a multithreaded server, it's a bit easier to keep track of each client but thats nothing a simple collection type data structure can't solve in a asyncronous enviroment. Can anyone give me any real feedback on the reasoning on why one would choose to design one over the other?