0

これは私のコードです:

class FirstNamespace(BaseNamespace):
    def on_some_event(self, msg):
        self.emit('ok '+msg)

@app.route('/socket.io/<path:remaining>')  # socket.io endpoint
def socketio_withpath(remaining):
    socketio_manage(request.environ,
                    {'/channel1': FirstNamespace}
    return 'ok'

@app.route('/dosomething/', methods=['POST'])  # simple http endpoint
def dosomething():
    data = request.form
    # ...
    # some code that triggers self.emit from within FirstNamespace 
    # ...
    return 'data processed'

フロントエンドからソケット メッセージを喜んで送信できます。それらは処理され、メソッドから応答を受け取りますon_some_event

問題は、最初に自分でメッセージを送信した場合にのみメッセージを受信できることです。

しかし、最初に話さずにメッセージを受信するにはどうすればよいでしょうか?

たとえば、誰かが POST を/dosomething/エンドポイントに送信した場合、どのようemitにクライアント Websocket をトリガーできますか?

--

私はこれを行うことができますflask-socketioが、私の好みには魔法が多すぎます. これに対する下位レベルの実装はありますか?

4

1 に答える 1