Django-Kanäle - Echo-Beispiel funktioniert nicht

Ich folge den Anweisungen imdocumentation site, aber ich bin im Echo-Beispiel hängen geblieben, der Websocket wurde korrekt erstellt und ist mit dem Server verbunden, aber wenn ich etwas an den Server sende, erhalte ich keine Antwort gleiche Nachricht, die ich in den Socket sende, aber nicht, obwohl ich die Warnung für ein console.log geändert habe, aber immer noch), was mache ich falsch?

Im settings.py:

INSTALLED_APPS = {
    ...
    'channels',
    'myapp',
    ...
} 

...
# Channels settings
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "asgiref.inmemory.ChannelLayer",
        "ROUTING": "myapp.routing.channel_routing",
    },
}

Im routing.py:

from channels.routing import route
from myapp.consumers import *

channel_routing = [
    route("websocket.receive", ws_receive),
]

Im consumer.py:

def ws_receive(message):
    # ASGI WebSocket packet-received and send-packet message types
    # both have a "text" key for their textual data.
    message.reply_channel.send({
        "text": message.content['text'],
    })

In asgi.py

import os
from channels.asgi import get_channel_layer

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")

channel_layer = get_channel_layer()

Dann führe ich Folgendes aus: python manage.py runserver, und in meinem Browser gehe ich zur Server-URL und gebe in der Konsole Folgendes ein:

socket = new WebSocket("ws://" + window.location.host + "/chat/");
socket.onmessage = function(e) {
    alert(e.data);
}
socket.onopen = function() {
    socket.send("hello world");
}

Again, an diesem Punkt sollte ich ein Warnfenster (oder die console.log-Nachricht) sehen, aber ich bekomme nichts.

Die Anfragen, die ich gestellt habe, haben den Status ausstehend (obwohl ich @ gelesen haHie und der erste Kommentar sagt, dass es normal ist)

Und die Serverausgabe sieht folgendermaßen aus:

Jedes Mal, wenn ich versucht habe, etwas über das Websocket im Browser zu senden, druckt der Server nur CONNECT, aber es wird kein Protokoll von der js-Konsole angezeigt.

Bearbeiten: Ich habe websockets in meinem Browser gegen echo.websocket.org getestet und die Antwort wie erwartet erhalten:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage