Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
IM DIY
Search
cngump
May 06, 2013
Programming
270
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
IM DIY
即时聊天DIY
cngump
May 06, 2013
More Decks by cngump
See All by cngump
iOS开发中的MVC
cngump
2
1.8k
构造基于Coretext的排版引擎
cngump
1
490
Mac OS APP 的沙盒和相关审核技术
cngump
0
590
基于Xamarin 2.0的跨平台移动开发
cngump
0
160
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
150
Workers Cache を知る
syumai
0
330
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
440
SREの越境 / SRE Collaboration
y0hgi
2
300
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.8k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
900
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
350
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
7
1.8k
ジョジョの世界をXRで再現する
mofurune
0
100
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
520
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
How to make the Groovebox
asonas
2
2.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
430
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Crafting Experiences
bethany
1
370
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
310
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Transcript
通信聊天DIY 如何為我的應⽤用增加⼀一個IM功能? @Harry吳卓強 http://weibo.com/harryng
[email protected]
13年5月6⽇日星期⼀一
My Experience... • Enterprise IM • IM on Cloud •
Customer Service Solution 13年5月6⽇日星期⼀一
Why IM? • 企業內部通信 • 客⼾戶服務 13年5月6⽇日星期⼀一
Did you use? • XMPP • Socket.io • TowTruck •
Faye • Red5 • Many more... 13年5月6⽇日星期⼀一
XMPP 13年5月6⽇日星期⼀一
XMPP • known as Jabber • XML • TCP /
HTTP(s) • Mainly Java-based servers 13年5月6⽇日星期⼀一
13年5月6⽇日星期⼀一
XMPP 13年5月6⽇日星期⼀一
XMPP 13年5月6⽇日星期⼀一
XMPP • Too much resources • Relies on commercial solutions
• Cost is high 13年5月6⽇日星期⼀一
Socket.io 13年5月6⽇日星期⼀一
Socket.io • JSON • Light weight • WebSocket • FlashSocket
• Long Polling 13年5月6⽇日星期⼀一
Socket.io • Client Side: Multi-platforms • Server Side: Node.js •
Compatible: • Recent Browsers • Libraries 13年5月6⽇日星期⼀一
Pub/Sub • Publish / Subscribe • Chat Room style 13年5月6⽇日星期⼀一
Socket.io on iPhone • DEMO 13年5月6⽇日星期⼀一
Good? Bad? • Goods: • Simple • Low Traffic •
Bads: • New 13年5月6⽇日星期⼀一
XMPP (Jabber) Socket.io Data Format Web Technologies Technology History Users
Scalability Features Setup XML JSON TCP HTTP HTTPS Polling Long-polling WebSocket FlashSocket jsonp-polling Java (OpenFire) Node.js 1999 2009 AOL (2008) Facebook (2010) Microsoft (2011) Skype (2011) Microsoft (2011) Linkedin (2012) Yahoo! (2012) Walmart (2012) Multiple nodes Nginx HA Proxy event stream security non-blocking event-driven Jabber Server Node.js server 13年5月6⽇日星期⼀一
Summary • Setup is NOT easy!! • Use 3rd-party Service!!
13年5月6⽇日星期⼀一