channels
로 웹소켓 서버를 만들다보면
우리가 기존에 잘 알던 views.py
, urls.py
외에도
새롭게 routing.py
, consumers.py
를 사용하게 된다.
이 둘의 차이가 헷갈려서 정리해보려고 한다.
urls.py
URL 패턴을 정의
해당 URL에 대해 어떤 view 함수를 실행할지 결정
일반적인 HTTP 요청과 관련된 URL 라우팅을 처리
routing.py
웹소켓 연결 및 다른 프로토콜 연결을 처리
웹소켓 연결을 통해 들어오는 메시지 및 이벤트를 처리할 컨슈머를 지정
웹소켓 프로토콜과 관련된 URL 라우팅을 처리
views.py
일반적인 HTTP 요청을 처리하는 뷰 함수 또는 클래스를 정의
클라이언트의 HTTP 요청을 받아 처리 후 해당 요청에 대한 응답을 반환
주로 HTML 페이지를 렌더링하거나 JSON 데이터를 반환하는 작업 처리
consumers.py
웹소켓 연결 및 다른 프로토콜 연결을 처리하는 컨슈머를 정의
클라이언트와 서버 간의 양방향 통신을 처리
웹소켓 연결을 통해 들어오는 메시지 및 이벤트를 처리
비동기적으로 작동