# Tutorial

Channels allows you to use WebSockets and other non-HTTP protocols in your Django site. For example you might want to use WebSockets to allow a page on your site to immediately receive updates from your Django server without using HTTP long-polling or other expensive techniques.

In this tutorial we will build a simple chat server, where you can join an online room, post messages to the room, and have others in the same room see those messages immediately.

- Tutorial Part 1: Basic Setup
- Tutorial Part 2: Implement a Chat Server
- Tutorial Part 3: Rewrite Chat Server as Asynchronous
- Tutorial Part 4: Automated Testing