2017-01-24 5 views
2

Ich versuche, Django-Kanäle zu verwenden, um eine Websocket-Verbindung mit dem Browser herzustellen. Der websocket nicht mit dem Server verbinden:Websocket mit Django Channels

[2017/01/23 23:51:50] HTTP GET/200 [0.03, 127.0.0.1:60445] 
[2017/01/23 23:51:51] WebSocket HANDSHAKING /chat/ [127.0.0.1:60451] 
[2017/01/23 23:51:56] WebSocket DISCONNECT /chat/ [127.0.0.1:60451] 

Javascript verwendet für websocket:

socket = new WebSocket("ws://" + window.location.host + "/chat/"); 
    socket.onmessage = function (e) { 
     alert(e.data); 
    }; 
    socket.onopen = function() { 
     socket.send("hello world"); 
    }; 
    // Call onopen directly if socket is already open 
    if (socket.readyState == WebSocket.OPEN) socket.onopen(); 

settings.py

CHANNEL_LAYERS = { 
    "default": { 
     "BACKEND": "asgiref.inmemory.ChannelLayer", 
     "ROUTING": "django_chat_server.routing.channel_routing", 
    } 
} 

Routing.py

channel_routing = { 
    # Wire up websocket channels to our consumers: 
    'websocket.connect': ws_add, 
    'websocket.receive': ws_message, 
    'websocket.disconnect': ws_disconnect, 
} 

Beim Laden die Seite, ws_add wird gestartet, die Verbindung wird jedoch getrennt. Irgendwelche Hinweise dazu, wie ich das debuggen kann oder was das Problem sein könnte.

Ich betreibe den Server mit dem Befehl python manage.py runserver.

Bearbeiten: Downgraded zu twisted Version 16.2.0. Kein Erfolg.

Antwort

Verwandte Themen