AcceptEx() bug in Windows 8 and all Server 2012 variants

Be aware that there is a known bug in Windows 8 and all Server 2012 variants which causes AcceptEx() completions to be delayed in some situations. This was confirmed by a Microsoft representative on Microsoft Connect, see the error report ticket here. An example of how to demonstrate this bug, its likely affects and the current know causes can be found here in this Stack Overflow question. I’m a little disappointed with the official response to this bug report.

Worrying issue with Windows 8 and AcceptEx...

There’s an interesting question over on stack overflow about a perceived change in IOCP behaviour on Windows 8 (and Server 2012 RC). The question includes some code which demonstrates how an overlapped AcceptEx() call is blocked on by the thread that issued it being blocked inside a call to ReadFile() at the time that the AcceptEx() completes. The completion for the AcceptEx() is delayed until the ReadFile() completes even though a thread is waiting for completions on the IOCP associated with the socket.

Dropping support for Visual Studio .Net 2002 and 2003

We are dropping support for Visual Studio .Net 2002 from release 6.6 of The Server Framework which is due early next year. We don’t expect that this will cause anyone any problems as this compiler became unsupported by Microsoft in 2009, and most native C++ people seemed to skip this release entirely. We are also considering dropping support for Visual Studio .Net 2003. This compiler is still supported by Microsoft until 2013 but we expect that most people interested in native C++ will have switched to Visual Studio 2005 or 2008 at the earliest opportunity.

Out of band data, TCP Urgent mode and overlapped I/O

Some stream protocols have the concept of ‘out of band’ (OOB) data. This is a separate logical communication channel between the peers which enables data that is unrelated to the current data in the stream to be sent alongside the normal data stream. This is often a way for some data to jump ahead of the normal stream and arrive faster than if it were delivered via the the normal data stream.

A little note to all you Chinese hackers

My server logs are showing that there are some people currently trying to hack this site. They appear to be mainly Chinese. I assume you think you might be able to download the source code to The Server Framework for free if you manage to hack my websites; after all the same IP addresses have been exploring my sites a lot and looking at lots of the documentation pages on here…