• Save
SignalR + Mobile Possibilities (CodeMash)
Upcoming SlideShare
Loading in...5

SignalR + Mobile Possibilities (CodeMash)






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

SignalR + Mobile Possibilities (CodeMash) SignalR + Mobile Possibilities (CodeMash) Presentation Transcript

  • 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 43240.www.us.sogeti.com www.us.sogeti.com
  • Why do we need real-time?New emailTwitter/Facebook updatesStock Ticker/Live AuctionsGame ScoresReal-time NotificationsTurn-by-Turn or Shooter GamesCollaborationProgress BarsAnd obviously, Chat
  • 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
  • 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
  • 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! https://github.com/SignalR/SignalRhttp://jabbr.net/#/rooms/signalhttp://shootr.signalr.net/SignalR 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
  • 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
  • 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
  • SignalR Client for iOShttp://dyknow.github.com/SignalR-ObjC/
  • SignalR Client for Monohttp://blog.rthand.com/post/2012/03/14/SignalR-client-on-Mono-for-Android.aspx
  • Local Touch – Global ReachQuestions?Thank you !!@samidip www.us.sogeti.com