Telepathy Transport
https://github.com/vis2k/Telepathy
Simple, message based, MMO Scale TCP networking in C#. And no magic.
Telepathy was designed with the KISS Principle in mind.
Telepathy is fast and extremely reliable, designed for MMO scale Networking.
Telepathy uses framing, so anything sent will be received the same way.
Telepathy is raw C# and can be used in Unity3D too.
Telepathy is available on GitHub
What makes Telepathy special?
Telepathy was originally designed for uMMORPG after 3 years in UDP hell.
We needed a library that is:
Stable & Bug free: Telepathy uses only 400 lines of code. There is no magic.
High performance: Telepathy can handle thousands of connections and packages.
Concurrent: Telepathy uses one thread per connection. It can make heavy use of multi core processors.
Simple: Telepathy takes care of everything. All you need to do is call Connect/GetNextMessage/Disconnect.
Message based: if we send 10 and then 2 bytes, then the other end receives 10 and then 2 bytes, never 12 at once.
MMORPGs are insanely difficult to make and we created Telepathy so that we would never have to worry about low level Networking again.
What about...
Async Sockets: didn't perform better in our benchmarks.
ConcurrentQueue: .NET 3.5 compatibility is important for Unity. Wasn't faster than our SafeQueue anyway.
UDP vs. TCP: Minecraft and World of Warcraft are two of the biggest multiplayer games of all time and they both use TCP networking. There is a reason for that.