C# SocketAsyncEventArgs High Performance Socket Code
Microsoft created the SocketAsyncEventArgs class to help you write scalable, high performance socket server code. SocketAsyncEventArgs uses I/O Completion Ports via the asynchronous methods in the .NET Socket class. A proven way to write scalable, high performance socket code for TCP/IP in Windows can be seen in this article on I/O Completion Ports. And here's another link to a Microsoft page on I/O Completion Ports. SocketAsyncEventArgs helps us to access a socket with advantages like working asynchronously, raising the Completed event, setting buffer space, object pooling, having a state object, accessing the socket through a property, etc., while having the performance characteristics of I/O completion ports. Very nice.