Django的通道/的WebSockets:WebSocketBadStatusException:握手状态200

问题描述:

我下面这个教程:https://gearheart.io/blog/creating-a-chat-with-django-channels/Django的通道/的WebSockets:WebSocketBadStatusException:握手状态200

而且我得到这个错误与下面的代码在运行manage.py runserver命令

#settings.py 

redis_host = os.environ.get('REDIS_HOST', 'localhost') 

# Channel layer definitions 
# http://channels.readthedocs.org/en/latest/deploying.html#setting-up-a-channel-backend 
CHANNEL_LAYERS = { 
    "default": { 
     # This example app uses the Redis channel layer implementation asgi_redis 
     "BACKEND": "asgi_redis.RedisChannelLayer", 
     "CONFIG": { 
      "hosts": [(redis_host, 6379)], 
     }, 
     "ROUTING": "gameapollius.routing.channel_routing", # We will create it in a moment 
    }, 
} 

#routing.py 

from channels import route,include 

def message_handler(message): 
    print(message['text']) 

channel_routing = [ 
    route('websocket.receive', message_handler) 
] 

#traceback 

In [1]: import websocket 

In [2]: ws = websocket.WebSocket() 

In [3]: ws.connect("ws://localhost:8000") 
--------------------------------------------------------------------------- 
WebSocketBadStatusException    Traceback (most recent call last) 
<ipython-input-3-43b98f503495> in <module>() 
----> 1 ws.connect("ws://localhost:8000") 

c:\Python27\lib\site-packages\websocket\_core.pyc in connect(self, url, **options) 
212 
213   try: 
--> 214    self.handshake_response = handshake(self.sock, *addrs, **options) 
215    self.connected = True 
216   except: 

c:\Python27\lib\site-packages\websocket\_handshake.pyc in handshake(sock, hostname, port, resource, **options) 
67  dump("request header", header_str) 
68 
---> 69  status, resp = _get_resp_headers(sock) 
70  success, subproto = _validate(resp, key, options.get("subprotocols")) 
71  if not success: 

c:\Python27\lib\site-packages\websocket\_handshake.pyc in _get_resp_headers(sock, success_status) 
127  status, resp_headers = read_headers(sock) 
128  if status != success_status: 
--> 129   raise WebSocketBadStatusException("Handshake status %d", status) 
130  return status, resp_headers 
131 

WebSocketBadStatusException: Handshake status 200 

我是什么做错了?直到“ws.connect(”ws:// localhost:8000“)”行为止,我一直遵循教程。这是我卡住的地方。任何帮助将不胜感激,在此先感谢。

我的错误是,我忘了“渠道”添加到我安装的应用程序

+0

ahahahha,我遵循同样的教程,并同样的错误给我带来了这里:)谢谢回答自己的问题:) – fanny

+0

我太哇,有同样的错误:) –