It seems that System.net.Sockets had some performance problems in multithreaded applications in previous versions of .Net. and that SocketAsyncEventArgs was (At least partially) created to address these. However it looks like using SocketAsyncEventArgs and getting it right is a nontrivial process as shown in this article.
Ive looked at some frameworksthat might be of use http://nitoasync.codeplex.com/ & http://supersocket.codeplex.com/
If I was looking for Maximum performance in an TCP application using managed code should I write around SocketAsyncEventArgs? and run the risk of discovering performance problems in production which are impossible to replicate in testing or should I use one of aforementioned frameworks?.
I am not working with C# that long. Most of my experience has been in C++ but I have zero experience in this area. Im using .Net 4
If you're looking for something free, I've had good experiences with SuperSocket. However, if you need a bit more functionality...http://www.chilkatsoft.com/socket-dotnet.asp is really worth the extra dime.
Regular updates, and very easy to work with. Lots of examples, and thorough/good documentation for the most part (some of the functions (very few), contain a "To be documented")
The examples are really what sets them apart, imo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With