2018~2019/Node.js

Web Socket

전기도둑 2018. 9. 18. 17:52

1. Web Socket

- HTML5에서 새로 추가된 스펙으로 실시간 양방향 데이터 전송을 위한 기술

- HTTP와는 다르게 'WS'라는 프로토콜 사용


1) ws 모듈

- 간단하게 웹 소켓을 사용하고자 할 때 좋음


2) Socket.IO

- 웹 소켓을 지원하지 않는 브라우저까지 실시간 통신을 구현할 수 있음 : HTTP 프로토콜을 사용하여 먼저 폴링 방식으로 연결 후, 웹 소켓을 사용 할 수 있는 브라우저면 웹 소켓으로 업그레이드함 

- 네임스페이스

- 방 : 네임스페이스보다 더 세부적인 개념



2. 서버센트 이벤트(Server Sent Events, SSE)

- 처음에 한 번만 연결하면 서버가 클라이언트에 지속적으로 데이터는 보내줌

- 서버에서 클라이언트로 데이터를 보내는 단방향 통신


* 웹 소켓 이전의 실시간 데이터 전송

1) 폴링

- HTTP가 클라이언트에서 서버로 향하는 단방향 통신이므로 주기적으로 서버에 새로운 업데이트가 없는 지 확인하는 요청을 보내, 있다면 새로운 내용을 가져오는 방식