[NOTE: This code leaks when adjusted to build with Visual Studio 2005. This seems to be due to a bug in VS2005’s STL. See here for a workaround. I expect to post a fix for this once I’ve found time to convert the code to build with the new compiler and then tracked down the leak. If anyone has already done this then a comment telling me what’s wrong would be appreciated.]
For the change list see here.
And the code for the Handling multiple pending socket read and write operations article is here.
I’m not sure if I’ll get around to updating the AcceptEx article and the UDP version of the code. Both of those code paths really need to be merged into the main set of code in a less cut and pastey style. Right now they’re a nightmare to maintain - just as you’d expect from cut and paste reuse :(