2016-11-15 4 views
0

を聞いていないwebsocket.receive、私は、これらのセットでジャンゴ1.9.1ジャンゴチャンネル統合問題は、様々なブログの記事を通って行く

を使用していますジャンゴ

でのWebSocket機能のDjangoのチャンネルを実装しようとしています依存関係: asgi-Redisの== 0.10.0 チャンネル== 0.12.0 ダフネ== 0.11.1

settings.py

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

routing.py

from channels.routing import route 
from .consumers import websocket_receive 

channel_routing = [ 
    route("websocket.receive", websocket_receive, path=r"^/chat/"), 
] 

consumers.py

def websocket_receive(message): 
    text = message.content.get('text') 
    if text: 
     message.reply_channel.send({"text": "You said: {}".format(text)}) 

ブラウザのコンソールからのrunserver後、私はこの

socket = new WebSocket("ws://" + window.location.host + "/chat/"); 
socket.onmessage = function(e) { 
    alert(e.data); 
} 
socket.onopen = function() { 
    socket.send("hello world"); 
} 
を呼び出しています

上記の呼び出しでは、runserverログでwebsocketの呼び出しを見ることができます。 "[2016/11/15 19:35:39] WebSocket CONNECT/chat/[127.0.0.1:55499]" consumers.pyメソッド(websocket_receive)は決して呼び出されません。

どこが間違っているかもしれませんか?

答えて

1

Twistedのバージョンを下げて問題を解決しました。Twistedのデフォルトバージョンは16.5で、16.2で解決しました。

関連する問題