Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Real-time Communications with SignalR
Search
Shravan Kumar Kasagoni
May 19, 2015
Technology
0
49
Real-time Communications with SignalR
Shravan Kumar Kasagoni
May 19, 2015
Tweet
Share
More Decks by Shravan Kumar Kasagoni
See All by Shravan Kumar Kasagoni
Functional Programming in JavaScript
shravan
0
35
ASP.NET Core – Deep Dive on Building a Real Website
shravan
0
41
Cross-Platform Mobile Development using Visual Studio and Xamarin
shravan
1
39
Angular 2 with TypeScript
shravan
1
160
Building Next Generation Web Apps and Services using ASP.NET 5
shravan
0
88
Writing Application-Scale JavaScript:TypeScript
shravan
0
55
Running, improving and maintaining a site in the real world
shravan
0
36
Open Web Interface for .NET
shravan
0
140
Glance at Visual Studio 2013 ASP.NET and Web Tools 2013
shravan
0
74
Other Decks in Technology
See All in Technology
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
1
4.3k
Lambda Web Adapterについて自分なりに理解してみた
smt7174
5
150
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
390
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
5.8k
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
530
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.5k
GitHub Copilot の概要
tomokusaba
1
150
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
1
190
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
160
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
110
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Why Our Code Smells
bkeepers
PRO
337
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Designing Experiences People Love
moore
142
24k
Music & Morning Musume
bryan
46
6.6k
Transcript
Real-time Communications with SignalR Shravan Kumar Kasagoni
Agenda 1) Introduction to the real-time web 2) ASP .NET
SignalR 3) Building a real-time
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.
Without real-time
With real-time
Why Real-time? Users want the latest info, NOW!
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)
How to build real-time web apps?
HTTP is an old beast… Never designed for real-time communications
Web is all about request-response Web is stateless
How to do real-time in web?
Periodic polling Poll from time to time using Ajax
Delay in communication due to polling interval Wastes bandwidth & latency Server Client Polling interval
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
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
HTML5 Web sockets Extension to HTTP Provides raw
sockets over HTTP Full-duplex Traverses proxies It's still a working draft Not every proxy server supports it Not every web server supports it Not every browser supports it They are raw sockets!
too many options
None
Basically…
Introducing SignalR • Abstraction over transports • Events instead of
task/async • Connection management • Broadcast or target specific client
What does SignalR do? • Client to Server persistent connection
over HTTP • Easily build multi-user, real-time web applications • Auto-negotiates transport
SignalR Fallback Long Polling Forever Frames Server Sent Events Web
Sockets
What does SignalR do? • Allows server-to-client push and RPC
• Built async to scale to 1000’s of connections • Scale out with Service Bus, SQL Server & Redis • Open Source on GitHub
Backplane SignalR Backplanes Load balancing via a common transport mechanism
Thank You