WebSocket - FlashSocket
WebSocket는 HTML5을 지원하는 브라우저에서만 사용할 수 있는 통신 방식이고, FlashSocket은 Flash가 설치된 브라우저에서 사용할 수 있는 통신 방식이다. WebSocket를 지원하지 않는 브라우저에서 WebSocket과 같은 방식으로 통신을 할 수 있게 지원할 수 있는 방안을 모색하던중 FlashSocket에 대해서 알게되었다. FlashSocket를 이용하여 실시간 반응 웹을 일관성 있게 개발 할 수 있을 것이다.
WebSocket -> FlashSocket -> LongPolling -> Polling과 같은 방식으로 점점 하위 개발 방법으로 지원하여 웹 서버간의 데이터 통신을 지원하는 애플리케이션 프레임웍 개발을 진행하면 될것이다.
WebSocket 지원 브라우저를 한번 알아 보자
[그림1] WebSocket Compatibility table
( http://caniuse.com/#feat=websockets )
위와 같이 특정 하위 브라우저에서는 WebSocket를 사용할 수 없게 된다. 그렇다면 차선책으로 SSE(Server sent events), LongPolling, Polling과 같은 방식으로 서버와 통신을 해야 하는데 프로그램 코딩 방식이 많이 다르게 되어 Client의 코드 복잡도가 증가하게 된다. 그 대신 차선책으로 Flash가 설치된 브라우저에서 사용할 수 있는 FlashSocket를 사용해서 차선책으로 선택할 수 있는 폭을 넓힐 수 있을 것이다.
모바일에서는 최신 모든 브라우저는 HTML5를 지원하므로 WebSocket도 지원하기에 호환성에서도 괜찮을 것으로 예상한다.
만약 node.js 플랫폼에서 개발한다면 통신에 대해서 추상화된 라이브러리가 있다. Socket.IO에서 배포하고 있는 라이브러리는 웹 브라우저의 상태와 관계없이 일관된 방식으로 개발할 수 있도록 하고 있다.
Socket.IO에서 지원하는 방식은 아래와 같다.
WebSocket
FlashSocket
Ajax LongPolling
Ajax Multipart streaming
Forever IFrame
JSONP Polling
지원 브라우저는
- Internet Explorer 5.5+
- Safari 3+
- Google Chrome 4+
- Firefox 3+
- Opera 10.61+
- iPhone Safari
- iPad Safari
- Android WebKit
- WebOs WebKit
[그림2] Socket.IO site
'설치 및 소개' 카테고리의 다른 글
[WebMatrix] WebMatrix 3 Release (0) | 2013.05.14 |
---|---|
codepen.io - Live HTML dev environment (0) | 2013.05.10 |
free HTML Template - 무료 HTML 템플릿 사이트 - BootStrap (0) | 2013.05.04 |
[WebMatrix] WebMatrix 3 Preview (0) | 2013.05.01 |
개발 그룹 사이트 링크 (0) | 2012.11.12 |