Your SlideShare is downloading. ×
SignalR + Mobile Possibilities (CodeMash)
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SignalR + Mobile Possibilities (CodeMash)


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Local Touch – Global Reach Intro to SignalR + Awesome Mobile Possibilities!Samidip BasuSolutions Lead | MSFT MobilityEmail: Samidip.Basu@us.sogeti.comTwitter: @samidipBlog: http://samidipbasu.comSogeti USA8425 Pulsar Place, Suite 300 | Columbus, OH
  • 2. Why do we need real-time?New emailTwitter/Facebook updatesStock Ticker/Live AuctionsGame ScoresReal-time NotificationsTurn-by-Turn or Shooter GamesCollaborationProgress BarsAnd obviously, Chat
  • 3. Existing TechnologiesHTTP – purely Request/Response protocolInternet – stateless; servers don’t call your app backConsumption model .. But we’ve learnt tricksPeriodic/Ajax Polling – not real-time, bandwidth misuse Image courtesy @maartenballiauw
  • 4. Existing Technologies ..Contd. plugins like SL/Flash – to access sockets Use Native Web Sockets (Magic Unicorn world) – but low level & support flaky Long Polling – server does not respond unless X happens, client polls after data receive or time-out Forever Frame (execute script blocks from server in iFrame) Server sent Events (Push or Stream from server) Image courtesy @maartenballiauw
  • 5. Enter SignalRAn async, persistent connection/signalling library for .NET over HTTP ... aids in building real time, multi-user connected applications.Persistent client-server connection over best transport .. Abstracts away the transport layer.From ASP.NET team-members (Damian Edwards & David Fowler) .. Not officially MSFT product, but OSS Boom!  is broken up into a few packages on NuGet: SignalR - Package for SignalR.Server and SignalR.Js SignalR.Server - Server components needed for SignalR endpoints SignalR.Js - Javascript client for SignalR SignalR.Client - .NET client for SignalR SignalR.WP7, SignalR.WinRT, SignalR.Silverlight – For the cool folks  SignalR.WebSockets - WebSocket Transport for SignalR
  • 6. Live Demos & WalkthroughClient calls server; Server calls client; seamlessly – Whoa!No polling, at least in our codeLow level – PersistentConnection more controlAbstraction – Hub easier to use like spokes on a wheel, broadcastingServer maintains Clients .. Broadcast to all, group or individual clientsBuilt-in Retry logic if transport failsSupports scaling out to web farms - backplane support through Service Bus or Redis (in memory DB) to pump messages between multiple servers
  • 7. Where does this fit?Other technologies have solved this problemSocket.IO is a client-side Jscript library that talks to node.jsNowjs supports namespace sync between client-serverPrimary SignalR advantages → Simplicity & ease of use → Works natively in .NET → Works out of browser → Supports Web Sockets for best transport [ASP.NET 4.5/IIS 8 on Win8 only] WebSocket is a web technology providing for multiplexing bi-directional, full-duplex communications channels over a single TCP connection. Still being standardized. → Works on other platforms, specially mobile
  • 8. SignalR Client for iOS
  • 9. SignalR Client for Mono
  • 10. Local Touch – Global ReachQuestions?Thank you !!@samidip