2017-07-27 13 views
-1

私はpython websocket-clientを使ってクライアントにメッセージを送ります。python websocket 404 on Handshake

私はクライアント側で

:私が持っている

var s = new WebSocket('http://' + location.host + ':8000/ws'); 
s.onopen = function(e) { 
    $("#connected3").html('open'); 
    console.log(e) 
} 
s.onclose = function(e) { 
    $("#connected").html('close') 
} 
s.onmessage = function(e) { 
    $("#connected2").html(e.data); 
} 

と、サーバー側で:

import websocket 
ws = websocket.WebSocket() 
ws = create_connection("ws://127.0.0.1:8000/ws", sslopt= {"check_hostname": False}) 

私はこのエラーを取得する: ハンドシェイクのステータス404

私の推測ではあるがあり、 Webソケットサーバーの問題: ws://127.0.0.1:8000/ws

ウェブソケットの設定に何か不足しましたか?

全コード: https://github.com/Homa/weatherApp

答えて

0

あなたのバックエンドでのWebSocketクライアントを作成しています。 websocketサーバーを作成し、JavaScriptコードに接続する必要があります。

ip install git+https://github.com/dpallot/simple-websocket-server.gitと接続してください。

from SimpleWebSocketServer import SimpleWebSocketServer, WebSocket 

class SimpleEcho(WebSocket): 

    def handleMessage(self): 
     # echo message back to client 
     self.sendMessage(self.data) 

    def handleConnected(self): 
     print(self.address, 'connected') 

    def handleClose(self): 
     print(self.address, 'closed') 

server = SimpleWebSocketServer('', 8000, SimpleEcho) 
server.serveforever() 
0

あなたはフラスコ・ソケット拡張機能を使用する場合は、次のコマンドライン gunicorn -k flask_sockets.worker --bind 0.0.0.0:8000 app:app

で開始することを可能にする拡張機能に直接gunicornためのWebSocketの実装を持っています