WebSocket
은 양방향 소통을 위한 프로토콜이다. 여기서 프로토콜은 쉽게 말해서 서로 다른 컴퓨터끼리 소통하기 위한 약속정도로 생각하면 될 것이다.
socket.io
는 양방향 통신을 하기 위해 웹소켓 기술을 활용하는 라이브러리이다.
그렇게 때문에 socket.io는 WebSocket과 같은 기능을 구현하더라도 약간 느리긴하지만, 대신 많은 편의성을 제공한다.
서버에서 연결된 사용자들을 세밀하게 관리해야 하는 서비스인 경우에는 Broadcasting 기능이 있는 socket.io를 쓰는 것이 유지보수 측면에서 이점이 있다.
but 데이터 전송이 많은 경우에는 빠르고 비용이 적은 표준 WebSocket을 이용하는 것이 이점이 더 많을 것이다.
=> 어떤 서비스를 제공할 것인가에 따라 그때그때 다르게 사용해야한다는 불변의 진리.