+1  A: 

I don't think you can use CAsyncSocket objects (or their descendants) in a thread pool secenario. CAsyncSockets are implemented on top of WSASsyncSelect - which tells the winsock to send notifcations to a window handle. Because windows have thread affinity, one can never "move" the CAsyncSocket handling to a different thread.

Chris Becke