본문으로 바로가기

Django Channels | 개념 | 사용이유

category TIL/기술 실험, 공부 2022. 12. 23. 21:37

채널스는 http뿐만아니라, mqtt 웹소켓, iot 웹 플로토콜을 사용, 개발 가능한 프레임워크 입니다. 비동기 웹소켓 서버로 정도로 알려졌지만 consumer.py에서 웹소켓 로직을 제공하며 asgi를 제공하는 프로토콜 웹서버인 다프네와 함께 사용해서 오토네고시에이션이 (automatic negotiation)가능해집니다.


web소켓의 request는 라우팅 url http request는 urls에 요청하면서 http와 웹소켓의 코드를 하나의 웹서버에  짤 수 있다.

 

ASGI에서 미들웨어 만들어서 커스텀 사용가능

 

다프네 프로토콜 웹서버

기능면은 놀랍다 http web소켓 리퀘스트 라우팅 파일 오토네코티에이션 http와 웹소켓을 동시에 웹서버 하나에  짤 수 있다. 챗봇만들때도 사용 프로토콜 mqtt프로토콜 함께사용 json기반 오브젝트 만들어서 클라이언트 받으면 문서화 웹소켓데이터로 서로 대화

 

view뿐만아리나 컨슈머 웹소켓로직을 제공

다프네로 배포

레디스랑 붙여서 사용하는 채널레이어라는 클래스 통해서

 

WSGI의 한계

웹소켓 자체가 http와 같은 약속이이다 사용자가 다른웹으로 이동하지 않아도 최신데이터가 적용된 웹을 볼 수 있다 클라이언트 요청이 없다면 서버의 응답을 받을 수 없었다.

 

인스턴스 정확한 개념 궁금