Socket server example using IO completion ports in C#