Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Realtime Web Applications With ASP.NET SignalR

Building Realtime Web Applications With ASP.NET SignalR

Shravan Kumar Kasagoni

June 01, 2013
Tweet

More Decks by Shravan Kumar Kasagoni

Other Decks in Technology

Transcript

  1. Your Presenter Shravan Kumar Kasagoni Software Engineer @ Thomson Reuters

    Microsoft MVP – ASP .NET / IIS | MCP Microsoft User Group Hyderabad http://theshravan.net @techieshravan
  2. Real-time Application? Real-time functionality is the ability to have server

    code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data.
  3. Show Me Some Examples  Twitter, Facebook, Mail - live

    searches/updates  Stock streamers  Auctions  Interactive games  Live Scores  Collaborative apps (google docs, office web apps)  Live user analytics (live graphs)
  4. HTTP is an old beast… Never designed for real-time communications

     Web is all about request-response  Web is stateless
  5. Periodic polling  Poll from time to time using Ajax

     Delay in communication due to polling interval  Wastes bandwidth & latency Server Client Polling interval
  6. Long polling  Poll but doesn’t respond until there's data

     Poll again after data received or after the connection times out  Consumes server & threads & connection resources Server Client
  7. Forever Frame  Server tells client that response is chucked

     Client keeps connection open until server closes it  Server pushed data to the client followed by \0  Consumes server threads Server Client
  8. HTML5 Web sockets  Extension to HTTP  Provides raw

    sockets over HTTP  Full-duplex  Traverses proxies  It's still a draft  Not every proxy server supports it  Not every web server supports it  Not every browser supports it  They are raw sockets!
  9. What is SignalR? An open-source series of libraries that provide

    an abstraction around persistent HTTP connections SignalR makes real-time HTTP so easy it seems like magic that it works [In English, please]
  10. What does SignalR do?  Client to Server Persistent connection

    over HTTP  Easily build multi-user, real-time web applications  Auto-negotiates transport