Web Socket

HTML5의 표준 기술, 브라우저와 서버 사이의 동적인 양방향 연결 채널을 구성.

기존 문제점

client에서 요청을 보내야 응답을 받을 수 있다.

메시지를 보내는 요청을 해야 서버에서 응답을 받을 수 있고 그때, 채팅들이 업데이트 된다.

ws vs socket.io

ws를 사용할 경우 room과 broadcast 같은 기능을 직접 만들어야 한다.

sockect.io는 연결이 끊어졌을 때, 주기적으로 연결을 시도한다.

socket.io

websocket의 경우 HTML5 기술이기 때문에 오래된 버전의 웹 브라우저는 웹소켓을 지원하지 않는다.

ex) 구버전 인터넷 익스플로러

웹페이지가 웹소켓을 지원하면 그대로 사용하고, 지원하지 않는 브라우저라면 일반 http를 이용해 실시간 통신을 흉내낸다. Socket.io는 자바스크립트를 이용하여 브라우저 종류에 상관없이 실시간 웹을 구현할 수 있도록 한 기술이다.