diff --git a/docs/index.rst b/docs/index.rst index b29e728e91..f62184643b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -23,6 +23,7 @@ Contents: deployment-on-heroku deployment-with-docker docker-postgres-backups + websocket faq troubleshooting diff --git a/docs/websocket.rst b/docs/websocket.rst new file mode 100644 index 0000000000..9d2e3264a3 --- /dev/null +++ b/docs/websocket.rst @@ -0,0 +1,25 @@ +.. _websocket: + +========= +Websocket +========= + +You can enable web sockets if you select ``use_async`` option when creating a project. That indicates whether the project can use web sockets with Uvicorn + Gunicorn. + +Usage +----- + +JavaScript example: :: + + > ws = new WebSocket('ws://localhost:8000/') // or 'wss:///' in prod + WebSocket {url: "ws://localhost:8000/", readyState: 0, bufferedAmount: 0, onopen: null, onerror: null, …} + > ws.onmessage = event => console.log(event.data) + event => console.log(event.data) + > ws.send("ping") + undefined + pong! + + +If you don't use Traefik, you might have to configure your reverse proxy accordingly (example with Nginx_). + +.. _Nginx: https://www.nginx.com/blog/websocket-nginx/