Hmm, I've just burnt some time trying to fiddle with this myself.

So far cross-process Winsocks won't fly, and I don't think you can get the multithreading action from an ActiveX EXE that creates objects from itself. You'd need to have a host application EXE that creates objects out of an ActiveX EXE, including a listener to have to Winsock in listening state and it would need to hand off to the worker objects to accept incoming connections... nasty.


It seems like it might be easier to keep all of the Winsocks in the host application, but delegate per-client work requests to mulithreaded objects created out of an ActiveX EXE. Lots of marshaling required though.