問題タブ [python-socketio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 自己署名証明書を PyCharm に追加するには?
python-socketio クライアントとフラスコ-socketio サーバーを実行しているときに自己署名 SSL 証明書を受け入れるには、PyCharm (macOS Mojave の 2019.1.1) が必要です。
を介して自己署名証明書を PyCharm に追加しようとしましたPreferences/Tools/Server Certificates
。ただし、問題は解決しません。python-socketio クライアントが Flask-socketio サーバーに接続しようとすると、エラーが発生しました。
クライアント側では、次のようにエラーがスローされました。
そして、これはサーバー側のエラーログです:
私の質問は、macOS の PyCharm に自己署名証明書を追加し、Python にそれを見つけさせる方法です。
アイデアを教えてください。
python - Pythonのsocketioを使用してHTMLとともにcss/javascirptファイルを送信するにはどうすればよいですか?
常にオフラインの Python ソケット サーバーがあり、HTML ページをローカル クライアントに提供し、やり取りする必要があります。ただし、オフラインで実行すると、使用していたリモート javascript/css を取得できませんでした。これは問題ありません。ファイルと必要なライセンスをダウンロードし、html でそれらをローカルで参照するようにしました。
このアプローチは、.html ファイルを実行するだけでは機能しますが、.html ファイルがソケット サーバーによって提供されると、.html が参照する JavaScript と html が不足します。
次のように .html ファイルをクライアントに送信します。
サーバーは .html ファイルのみを送信しているため、ローカルの js/css が正しくロードされていないと想定しています。ページを正しく表示できるように、これらのファイルを .html ファイルと一緒に送信する方法があるかどうかを知りたいです。
python - Queue から結果を取得して socket.io に正しく出力する
あるスレッドでサーバーを起動し、別のスレッドで値プロデューサーを起動する必要があります (ここでは によって偽装されてmock_producer
います)。サーバーのバックグラウンド スレッドは、キューから各値を取得してクライアントに送信することになっています。同時に、WSGI サーバーはindex.html
、要求されたときにサービスを提供する必要があります。これまでで最高の試みは次のとおりです。
付属のおもちゃでindex.html
:
私を悩ませているのはsio.sleep(0.1)
ラインです。これにより、オブジェクトがキューに入れられてから、オブジェクトがクライアントに提供されるまでの間に (わずかではありますが) 明らかに遅延が生じます。しかし、これはうまくいきません:
その理由は、queue.get()
WSGIサーバーがページを提供できないブロックindex.html
です(これは明らかに同じスレッドで発生します)。
queue.get-emit ループの新しいスレッドを起動しようとしたとき (たとえば、Thread(target=background).start()
代わりに を使用sio.start_background_task(background)
)、デバッグ出力は、emit が発生していると主張していましたが、クライアントには何も到達していなかったため、これも失敗でした。
理想的には、リクエストを処理する必要があるか、キューに値が入るまでコードをアイドル状態にして、いずれかにすぐに反応するようにしたいと思います。
これをきれいに書く方法はありますか?
注意: 残念ながら、重大な依存関係があるため、このプロジェクトでは Python 2 のままです。唯一の結果はimport Queue from Queue
ラインだと思いますが、念のため。