title: C# Socket performance with .Net 4.5 Async vs [...]Async vs Begin[...]
body: <p>Currently, from what I've researched, there are 3 ways to work with socket asynchronously:</p>
  
  <p>.Net 4.5 Async example: <a href="https://stackoverflow.com/questions/12630827/using-net-4-5-async-feature-for-socket-programming">Using .Net 4.5 Async Feature for Socket Programming</a> (second post)</p>
  
  <p>[...]Async: <a href="http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspx</a></p>
  
  <p>Begin[...]: <a href="http://msdn.microsoft.com/en-us/library/5w7b7x5f(v=vs.110).aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/5w7b7x5f(v=vs.110).aspx</a></p>
  
  <p>I am very confused with all the options .Net provides for working with asynchronous sockets. Why should I use one or the other? What better choice to have performance with thousands of simultaneous connections?</p>