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
56
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Real-time Communications with SignalR
Shravan Kumar Kasagoni
May 19, 2015
More Decks by Shravan Kumar Kasagoni
See All by Shravan Kumar Kasagoni
Functional Programming in JavaScript
shravan
0
49
ASP.NET Core – Deep Dive on Building a Real Website
shravan
0
50
Cross-Platform Mobile Development using Visual Studio and Xamarin
shravan
1
49
Angular 2 with TypeScript
shravan
1
170
Building Next Generation Web Apps and Services using ASP.NET 5
shravan
0
94
Writing Application-Scale JavaScript:TypeScript
shravan
0
68
Running, improving and maintaining a site in the real world
shravan
0
45
Open Web Interface for .NET
shravan
0
150
Glance at Visual Studio 2013 ASP.NET and Web Tools 2013
shravan
0
82
Other Decks in Technology
See All in Technology
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
190
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
160
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
150
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
660
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
250
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
260
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
170
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
990
VPCセキュリティ対応の最新事情
nagisa53
1
350
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.7k
「休む」重要さ
smt7174
7
1.8k
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
440
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
From π to Pie charts
rasagy
0
240
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
450
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
A Tale of Four Properties
chriscoyier
163
24k
Into the Great Unknown - MozCon
thekraken
41
2.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
First, design no harm
axbom
PRO
2
1.2k
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