So... ASP.NET MVC and WebSockets?

Just going to agree with the comments and provide a few links. SignalR is the way to go.

The site: http://signalr.net/ and http://www.asp.net/signalr

The code: https://github.com/SignalR/SignalR

Nuget: Install-Package Microsoft.AspNet.SignalR -pre

Good starting points:

  • Free E-Book http://www.eduardopires.net.br/Repositorio/SignalR_eBook.pdf

  • http://weblogs.asp.net/davidfowler/archive/2012/11/11/microsoft-asp-net-signalr.aspx

  • http://www.dotnetcurry.com/ShowArticle.aspx?ID=780

  • http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

Video from one of the creators: http://vimeo.com/43659069 <--[Loads of information!]


As a point of reference for this thread on WebSockets - I want you to note that at first glance, WebSockets looks like the obvious choice. The API is designed to provide a bi-directional communication channel between browser and server over a single TCP socket. It's been standardized by the IETF, and the latest Chrome, Firefox, IE, and Opera browsers support WebSockets. It's designed to minimize bandwidth overhead by reducing HTTP message overhead. So, what's not to like?

Like any perceived silver bullet, things are not always what they seem. Lots of problems exist:

Browser Support: As of June 2012, only 47.64% of browsers currently in use actually support WebSockets http://caniuse.com/websockets - That means, no matter how good WebSockets appears, you still need a second "fallback" solution to support the majority of Internet users. And since most "fallback" solutions involve Flash, you’re still out of luck on iOS and other mobile devices.

Read more about WebSockets in reality from this blog post: Are HTML5 WebSockets Gateway and Server the Panacea for Real-Time Data Push

Browser Support Update: As of May 2019, 96.77% of browsers currently in use actually support WebSockets http://caniuse.com/websockets