In terms of performance, both are equal, the connection is always made using the class "Socket".
But in the example of Beginxxx, it is a simpler solution, using the basic form of the use of Async.
In the case of Xxxasync is an event-based example, this example is more complete because in this example it already expects up to 100 simultaneous connections as can be seen in this line:
listenSocket.Listen(100);
For description of what you need, you could use any of these solutions, however the Xxxasync is already closer and prepared for what you want, note that it is already an example of a server, just implement the desired actions.
Now, depending on what you’re going to do, and who you’re going to consume, you can eliminate several network layer concerns using WCF or even Webapi. But there will depend on the requirements of the project.
It’s interesting because I read in the documentation that Async is an improvement over Begin.
– Rogers Corrêa
Reply at Stackoverflow: http://stackoverflow.com/questions/24174423/c-sharp-socket-performance-with-net-4-5-async-vs-async-vs-begin
– Gustavo Piucco