8

サンプルコードでFlask-Socketsを使用しようとしています:

sockets = Sockets(app)

@sockets.route('/echo')
def echo_socket(ws):
    while True:
        message = ws.receive()
        ws.send(message)

残念ながら、ブラウザを使用して URL /echo にアクセスすると、次のようなエラーが表示されます。

File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/flask_sockets.py", line 37, in __call__
environment = environ['wsgi.websocket']
KeyError: 'wsgi.websocket'

私が間違っていることを誰かが考えていますか?すべてのヒントは大歓迎です!

[編集] @jbub - ヒントをありがとう! まず、組み込みの開発サーバーの代わりに gunicorn を使用します。だから私はそれを使って始めましたgunicorn -k flask_sockets.worker -b 0.0.0.0:5000 main:app。次に、views.py に以下のコードを挿入しました。echo_test.html は、指定したコードです。/echo_test にアクセスすると、実際に「ソケットが閉じられました」というプロンプトが表示されます。

sockets = Sockets(app)

@sockets.route('/echo')
def echo_socket(ws):
    while True:
        message = ws.receive()
        ws.send(message)

@app.route('/echo_test', methods=['GET'])
def echo_test():
    return render_template('echo_test.html')

しかし、私の目的は、リストからランダムに選択された他の値で更新されるページに (リストからランダムに選択された) 単語を持つことだとしましょう。それを達成するためのヒントはありますか?

4

3 に答える 3

1

AWS を使用している場合、ポート 80 (および 443) のタイプが HTTP (および HTTPS) ではなく「カスタム TCP ルール」になるように、セキュリティ グループを編集する必要がある場合があることがわかりました。

于 2015-10-13T17:20:44.787 に答える