4

Django チャネルを使用して、ブラウザーとの websocket 接続を確立しようとしています。Websocket がサーバーに接続できません:

[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]

WebSocket に使用される Javascript:

    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();

設定.py

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

ルーティング.py

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

ページの読み込み時にws_add起動しますが、接続は最終的に切断されます。これをどのようにデバッグできますか、または問題が何であるかについてのリード。

コマンドを使用してサーバーを実行していますpython manage.py runserver

編集:twistedバージョン16.2.0にダウングレード。役立たず。

4

1 に答える 1