2017-09-18 5 views
0

私のPythonスクリプトはWebSocketを作成し、そのWebSocketを使用してサーバーに接続できます。サーバーは私が作成したWebSocketで応答を送信しますが、WebSocketモジュールはそれを解読できないようです。Python:websocket経由でサーバーからの応答をデコードできません

これは私が見ているエラーです:

----------------------- 
Traceback (most recent call last): 
    File "test_file.py", line 307, in <module> 
    result = ws.recv() 
    File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 293, in recv 
    opcode, data = self.recv_data() 
    File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 310, in recv_data 
    opcode, frame = self.recv_data_frame(control_frame) 
    File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 334, in recv_data_frame 
    return self.cont_frame.extract(frame) 
    File "/usr/local/lib/python2.7/dist-packages/websocket/_abnf.py", line 428, in extract 
    "cannot decode: " + repr(frame.data)) 
websocket._exceptions.WebSocketPayloadException: cannot decode: '\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x9dUmk\xeb6\x14\xfe+\xc1\x1f\xc7ug\'v\x1c\x17\xc6\xb8t\xa5\x0b\xac\xbdwm\x06\x83\xb9\x08Y>N\xb5kK\x8e$\'\xcdJ\xff\xfbt$;vac0\x87\x18\xe9\xbc<\xe7\xfd\xf8m\x11\x80RR1YAp\xbd\x88>-\x82\x16\xb4\xa6{\xbc\x05\x9f\xf7 \xccW%_\xcf7\xb2m{\xc1\x195\\\x8a\xc0JqMz\' 

これは私がのWebSocketを開始し、サーバresopnseに聞いているコードの一部です:

ws = websocket.create_connection(full_url, header = header_set) 
result = ws.recv() 
print result 

それはで失敗していますws.recv()行。何か案は?

+0

は 'websocket-のhttps://stackoverflow.com/questions/3142705/is-there-a-websocket-client-implemented-for-python – amrit

+0

どのバージョンは、このリンクを試しますクライアント 'モジュールを使用していますか? – sadmicrowave

答えて

0

これは、websocket-clientバージョン0.16の既知の問題のようです。パッケージを0.34以上に更新して、問題が解決するかどうか確認してください。

は、0.16の後のバージョンでフレーム検証をどのように処理したかを変更したためです(ただし最新のものに更新してください)。リンクのサポート

https://github.com/dpallot/simple-websocket-server/issues/24

関連する問題