Socket IO는 웹 소켓 연결을 통해 클라이언트와 서버간에 실시간 양방향 통신을 가능하게 한다. websocket에 문제가 생겨도 Socket IO는 계속 작동한다. Socket IO는 가끔 websocket을 이용해서 실시간, 양방향, event 기반 통신을 제공하는 frameworkd다. 만약 websocket 이용이 불가능하다면, socket IO는 다른 방법을 이용해서 계속 작동할것이다. socket IO는 브라우저가 websocket을 사용할 수 있는 브라우저라면 websocket을 이용한다. firewall, proxy가 있어도 socket IO는 계속 작동한다. websocket을 지원하지 않는 경우 HTTP long polling 같은 것을 사용할것이다.
http://localhost:3000/socket.io/socket.io.js ⇒ 이 url을 확인해보면 socket io가 websocket의 부가가기능이 아님을 확인할 수 있다. (websocket이 되지 않을 경우 재연결 기능 같은 부가기능이 있음)