私は、約20人のテスト担当者がターン制のゲームを互いに/対戦する科学実験に取り組んでいます。現在、これはWSGIインターフェイスを備えたPythonWebアプリです。WebSocketで使いやすさを向上させたい:すべてのプレイヤーがターンを終えたら、すべてのクライアントにステータスを更新するよう通知したいと思います。現在、全員がターンタイムアウトを待つか、継続的にリロードして「ターンはまだ進行中です」というエラーメッセージが再び表示されないようにする必要があります(ビジーウェイト、効果的に)。
複数のWebSocketライブラリのドキュメントを読み、WebSocketがどのように機能するかは理解していますが、WSGIとWebSocketを混合するためのアーキテクチャについてはよくわかりません。同じプロセスでWebSocketとWSGIサーバーを使用できますか(ある場合は、どのように実際に任意のWebSocketライブラリを使用して)my_websocket.send_message()
、WSGIハンドラーから呼び出すだけですか、それとも別のWebSocketサーバーを使用してIPCを実行する必要がありますか?それとも私はそれらをまったく混ぜるべきではありませんか?
編集、6か月後: WSGIサーバーと統合する代わりに、(アウトバーンを使用して)別のWebSocketサーバープロセスを開始することになりました。その理由は、2つを分離する方がはるかに簡単でクリーンであり、WSGIプロセス(サーバー間通信)からWebSocketサーバーとの通信が簡単で、websocket-clientを使用した最初の試みに取り組んだためです。