html/css/javascript

[socket IO]

gonGon 2011. 1. 24. 12:23
socket io는 serverside js 중 하나이다. 모든 브라우저와 모바일 기기에서 real time 서비스 지원을 목표로 한다. 아래와 같은 동일한 코드를 통해, 각각 다른 브라우저나 장비마다 사용 가능한 기술들을 이용하여 서비스를 구현해 준다.

var socket = new io.Socket(); 
socket.on('connect', function(){ 
  socket.send('hi!'); 
}) 
socket.on('message', function(data){ 
  alert(data);
})
socket.on('disconnect', function(){})

commonjs의 spec을 따르고 있고, nodejs와 잘 어울린다.

링크에 나와 있는대로 설치해 보자.

npm과 git를 이용한 내려받기가 가능한데, git를 이용해서 설치했다.

git clone git://github.com/LearnBoost/Socket.IO-node.git 

~/Socket.IO-node 폴더가 생기면 ~/Socket.IO-node/example/ 폴더로 이동한 후, node를 이용하여 server.js를 실행해 보자. (nodejs가 설치되어 있지 않다면 이전 글 참조.)

> node server.js


위와 같은 화면이 보이고, chart를 클릭하면, 


chatting 화면으로 이동된다. 실제 server의 log를 보면 아래와 같다.


위쪽의 websocket 2개는 각각 safari, chrome 브라우저로 접속했을 때이고, flaoshsocket 2개는 각각 IE8, Firefox로 접속했을 때이다. xhr-polling은 opera 브라우저로 접속했을 때이다.

위에서 보는 바와 같이 socketio는 사용 가능한 기술을 이용하여 real time 서비스를 제공해 준다.