SlideShare a Scribd company logo
Stay Connected Mobile Pushing Apps with WebSockets Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket Solution
Today's session ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Apps in Transition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
WebSockets Basics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
What we have: HTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Nearly Realtime Mechanisms ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Costs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
WebSockets ?  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
TCP instead of HTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Establishing Connection ,[object Object],jWebSocket – Stay Connected 09/12/10 Client GET {path} HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: {hostname}:{port} Origin: http://{host}[:{port}] Sec-WebSocket-Key1: {sec-key1} Sec-WebSocket-Key2: {sec-key2} 8 Bytes generated {sec-key3}  
Establishing Connection ,[object Object],jWebSocket – Stay Connected 09/12/10 Client GET /services/chat/;room=Foyer HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: jwebsocket.org Origin: http://jwebsocket.org Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5 Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 ^n:ds[4U Server HTTP/1.1 101 WebSocket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://jwebsocket.org Sec-WebSocket-Location: ws://jwebsocket.org/   services/chat 8jKS'y:G*Co,Wxa-
Bi-directional data exchange ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
WebSockets TCP vs. HTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
WebSockets – Why? ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
WebSockets – What for ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
HTML5 Browser ,[object Object],jWebSocket – Stay Connected 09/12/10 var lWebSocketClient = new WebSocket("ws://jwebsocket.org:8787"); // tries to open the TCP connection and to exchange handshake lWebSocketClient. onopen  = function(aEvent) { // connection has successfully been established } lWebSocketClient. onmessage  = function(aEvent) { // a data packet has completely been received in aEvent.data } lWebSocketClient. onclose  = function(aEvent) { // the connection has been terminated } lWebSocketClient. send ("Hello World!"); // sends a UTF-8 text message to the server lWebSocketClient. close (); // terminates the connection
Compatibility ,[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Token ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
jWebSocket Server ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
jWebSocket JavaScript Client ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
WebSockets – How? ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Android - Dalvik VM ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Low-Level-Interface ,[object Object],jWebSocket – Stay Connected 09/12/10 public interface WebSocketClient { void  open (String aURL) throws WebSocketException; void  send (WebSocketPacket aPacket) throws WebSocketException; void  close () throws WebSocketException; boolean  isConnected (); void  addListener (WebSocketClientListener aListener); void  removeListener (WebSocketClientListener aListener); void  notifyOpened (WebSocketClientEvent aEvent); void  notifyPacket (WebSocketClientEvent aEvent, WebSocketPacket(aPacket); void  notifyClosed (WebSocketClientEvent aEvent); }
Listener ,[object Object],jWebSocket – Stay Connected 09/12/10 public interface WebSocketClientListener { void  processOpened (WebSocketClientEvent aEvent); void  processPaket (WebSocketClientEvent aEvent, WebSocketPacket aPacket); void  processClosed (WebSocketClientEvent aEvent); }
Java WebSocket Client jWebSocket – Stay Connected 09/12/10
Android Demo App ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Android Fundamentals ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Android Canvas Demo ,[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Android - transfer photos ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
In-house ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10
Thank you for your attention! ,[object Object],[object Object],[object Object],[object Object],[object Object],jWebSocket – Stay Connected 09/12/10

More Related Content

What's hot

Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
Gunnar Hillert
 
V2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketV2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketbrent bucci
 
Google Chromebook for the Enterprise: Yeah or Meh?
Google Chromebook for the Enterprise: Yeah or Meh?Google Chromebook for the Enterprise: Yeah or Meh?
Google Chromebook for the Enterprise: Yeah or Meh?
Ericom Software
 
Websocket
WebsocketWebsocket
Websocket
Masudul Haque
 
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphereCodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphereCodecamp Romania
 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On Fire
Jef Claes
 
Dev con kolkata 2012 websockets
Dev con kolkata 2012   websocketsDev con kolkata 2012   websockets
Dev con kolkata 2012 websocketsSANKARSAN BOSE
 
Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010sullis
 
Timeless - Websocket on Rails
Timeless - Websocket on RailsTimeless - Websocket on Rails
Timeless - Websocket on RailsFramgia Vietnam
 
Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
Takafumi Ikeda
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
soft-shake.ch
 
WEB SOCKET 應用
WEB SOCKET 應用WEB SOCKET 應用
WEB SOCKET 應用Jerromy Lee
 
WebSockets - Today, in the Past, in Future and in Production.
WebSockets - Today, in the Past, in Future and in Production.WebSockets - Today, in the Past, in Future and in Production.
WebSockets - Today, in the Past, in Future and in Production.
bodokaiser
 
Time for Comet?
Time for Comet?Time for Comet?
Time for Comet?
Simon Willison
 
Socket.io
Socket.ioSocket.io
Socket.io
Diego Pacheco
 
Going Live! with Comet
Going Live! with CometGoing Live! with Comet
Going Live! with Comet
Simon Willison
 
Dancing with websocket
Dancing with websocketDancing with websocket
Dancing with websocket
Damien Krotkine
 
Building+restful+webservice
Building+restful+webserviceBuilding+restful+webservice
Building+restful+webservicelonegunman
 
HTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenHTTP 2.0 Why, How and When
HTTP 2.0 Why, How and When
Codemotion
 
Project Timbit
Project TimbitProject Timbit
Project Timbit
Edward de Groot
 

What's hot (20)

Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
V2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketV2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocket
 
Google Chromebook for the Enterprise: Yeah or Meh?
Google Chromebook for the Enterprise: Yeah or Meh?Google Chromebook for the Enterprise: Yeah or Meh?
Google Chromebook for the Enterprise: Yeah or Meh?
 
Websocket
WebsocketWebsocket
Websocket
 
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphereCodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On Fire
 
Dev con kolkata 2012 websockets
Dev con kolkata 2012   websocketsDev con kolkata 2012   websockets
Dev con kolkata 2012 websockets
 
Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010
 
Timeless - Websocket on Rails
Timeless - Websocket on RailsTimeless - Websocket on Rails
Timeless - Websocket on Rails
 
Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
 
WEB SOCKET 應用
WEB SOCKET 應用WEB SOCKET 應用
WEB SOCKET 應用
 
WebSockets - Today, in the Past, in Future and in Production.
WebSockets - Today, in the Past, in Future and in Production.WebSockets - Today, in the Past, in Future and in Production.
WebSockets - Today, in the Past, in Future and in Production.
 
Time for Comet?
Time for Comet?Time for Comet?
Time for Comet?
 
Socket.io
Socket.ioSocket.io
Socket.io
 
Going Live! with Comet
Going Live! with CometGoing Live! with Comet
Going Live! with Comet
 
Dancing with websocket
Dancing with websocketDancing with websocket
Dancing with websocket
 
Building+restful+webservice
Building+restful+webserviceBuilding+restful+webservice
Building+restful+webservice
 
HTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenHTTP 2.0 Why, How and When
HTTP 2.0 Why, How and When
 
Project Timbit
Project TimbitProject Timbit
Project Timbit
 

Similar to Jwebsocketmobiletechcon2010en 100912071225 Phpapp01

Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
Mauricio "Maltron" Leal
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
David Lindkvist
 
Web-Socket
Web-SocketWeb-Socket
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Charles Moulliard
 
Introduction to JQuery, ASP.NET MVC and Silverlight
Introduction to JQuery, ASP.NET MVC and SilverlightIntroduction to JQuery, ASP.NET MVC and Silverlight
Introduction to JQuery, ASP.NET MVC and Silverlight
Peter Gfader
 
HTML5, Websockets & the Mobile Web
HTML5, Websockets & the Mobile WebHTML5, Websockets & the Mobile Web
HTML5, Websockets & the Mobile Web
Dominique Guinard
 
WebSocket Server - Jul 2010
WebSocket Server - Jul 2010WebSocket Server - Jul 2010
WebSocket Server - Jul 2010
takanao ENODH
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat ClientPaul Klipp
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
Crocodile WebRTC SDK and Cloud Signalling Network
 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets PresentationVolodymyr Lavrynovych
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
andrejusb
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the Future
Frank Greco
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
Ericom Software
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
Matthew Chang
 
Websocket technology for XPages
Websocket technology for XPagesWebsocket technology for XPages
Websocket technology for XPages
Csaba Kiss
 
Real-Time with Flowdock
Real-Time with FlowdockReal-Time with Flowdock
Real-Time with Flowdock
Flowdock
 
KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享
Chia Wei Tsai
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
Gonzalo Ayuso
 

Similar to Jwebsocketmobiletechcon2010en 100912071225 Phpapp01 (20)

J web socket
J web socketJ web socket
J web socket
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
 
Web-Socket
Web-SocketWeb-Socket
Web-Socket
 
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
 
Introduction to JQuery, ASP.NET MVC and Silverlight
Introduction to JQuery, ASP.NET MVC and SilverlightIntroduction to JQuery, ASP.NET MVC and Silverlight
Introduction to JQuery, ASP.NET MVC and Silverlight
 
HTML5, Websockets & the Mobile Web
HTML5, Websockets & the Mobile WebHTML5, Websockets & the Mobile Web
HTML5, Websockets & the Mobile Web
 
WebSocket Server - Jul 2010
WebSocket Server - Jul 2010WebSocket Server - Jul 2010
WebSocket Server - Jul 2010
 
WebRCT
WebRCTWebRCT
WebRCT
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentation
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the Future
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
 
Websocket technology for XPages
Websocket technology for XPagesWebsocket technology for XPages
Websocket technology for XPages
 
Real-Time with Flowdock
Real-Time with FlowdockReal-Time with Flowdock
Real-Time with Flowdock
 
KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
 

Jwebsocketmobiletechcon2010en 100912071225 Phpapp01

  • 1. Stay Connected Mobile Pushing Apps with WebSockets Alexander Schulze Predrag Stojadinovic jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket Solution
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Java WebSocket Client jWebSocket – Stay Connected 09/12/10
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.