오늘은 실시간 채팅을 구현하기 위해 사용하는 프로토콜인 Websocket에 대해 알아보고, 이를 서버(Django)와 클라이언트(react)에서 쉽게 구현하기 위해서 사용하는 Django Channels과 react-use-websocket에 대해 간단하게 알아보자! 1️ WebSocket 프로토콜 Websocket이 무엇인지 논하기 위해서는 Websocket이 어떤 상황에서 필요한지 알아야 한다.
Websocket은 어떤 상황에서 필요할까 실시간 채팅 기능을 구현한다고 가정해보자. 내가 서로 다른 상대방에게 실시간으로 채팅을 전송하고 확인하기 위해 필요한 것들에는 뭐가 있을까?
단순히 메시지를 보내는 것뿐이라면 기본적으로 흔히 사용하는 HTTP 프로토콜으로도 충분히 구현 가능하다. 위와 같이 클라이언트(A)가 sever에 상대방에게 보내고 싶은 HTTP 요청 본문에 메시지를 담아 전송하고 이에 대한 응답을 클라이언트(A)가 받으면 된다.
그렇다면 메시지를 받을 대상(클라이언트 B...