본문 바로가기
백엔드기술/개발언어

WEB Socket

by RevFactory 2013. 1. 5.
 
Ajax 가 비동기 방식으로 클라이언트 -> 서버 를 가능하게 하지만
서버 -> 클라이언트 즉, Poll방식은 구현이 쉽지 않았습니다.

 

예를들어 서버로 요청을 보내놓고 서버에서 이벤트가 있을때 응답을 주는
Ajax Long Polling이 하나의 방법이었습니다. 이런 방식을 통틀어 COMET이라고도 합니다.

 

소켓을 통해 웹에서 양방향 통신이 가능한 WebSocket이 HTML5 의 표준에 포함이 되었습니다.
하지만 현재 브라우저에서 지원되는 HTML5 웹소켓은 IE를 제외한 Chrome, Safari, Firefox,
Opera등에서 작동이 되고 있으며, 보안 이슈등이 있어서 아직은 시기상조라는 의견이 있으며,
대신에 최근에는 Socket.io (http://socket.io/) 란 자바스크립트 라이브러리를 통해
브라우저에 따라 Comet이나 Websocket 기술 중 가장 적합한 것을 사용하도록 할 수 있습니다.

 

아래에 좀 더 자세한 내용을 포함한 링크들 첨부합니다.

 

- WebSocket과 Socket.io
- Socket.IO 예제
추가로
트위터에 사용되는 Netty 라이브러리(https://netty.io/)를 사용하여 웹소켓을 구현한 서버와
HTML5 웹소켓방식의 클라이언트 html 페이지 샘플을 첨부합니다.
*WEB에서 영문 문자열을 서버로 보내면 대문자로 바꿔서 웹으로 전송하는 예제입니다.

 

WebSocketSample.zip