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
480
Mac OS APP 的沙盒和相关审核技术
cngump
0
580
基于Xamarin 2.0的跨平台移动开发
cngump
0
150
Other Decks in Programming
See All in Programming
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
450
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
Java 27新機能 / Java 27 new features
kishida
2
120
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
790
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
540
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
340
Security issues being discussed on Web Platforms
petamoriken
0
890
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
230
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
190
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
App Intentsのビルドプロセスを支える技術
kntkymt
0
350
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building Applications with DynamoDB
mza
96
7.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Scaling GitHub
holman
464
140k
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⽇日星期⼀一