問題タブ [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.

0 投票する
2 に答える
2170 参照

python - 自己署名証明書を PyCharm に追加するには?

python-socketio クライアントとフラスコ-socketio サーバーを実行しているときに自己署名 SSL 証明書を受け入れるには、PyCharm (macOS Mojave の 2019.1.1) が必要です。

を介して自己署名証明書を PyCharm に追加しようとしましたPreferences/Tools/Server Certificates。ただし、問題は解決しません。python-socketio クライアントが Flask-socketio サーバーに接続しようとすると、エラーが発生しました。

クライアント側では、次のようにエラーがスローされました。

そして、これはサーバー側のエラーログです:

私の質問は、macOS の PyCharm に自己署名証明書を追加し、Python にそれを見つけさせる方法です。

アイデアを教えてください。

0 投票する
1 に答える
814 参照

python - Pythonのsocketioを使用してHTMLとともにcss/javascirptファイルを送信するにはどうすればよいですか?

常にオフラインの Python ソケット サーバーがあり、HTML ページをローカル クライアントに提供し、やり取りする必要があります。ただし、オフラインで実行すると、使用していたリモート javascript/css を取得できませんでした。これは問題ありません。ファイルと必要なライセンスをダウンロードし、html でそれらをローカルで参照するようにしました。

このアプローチは、.html ファイルを実行するだけでは機能しますが、.html ファイルがソケット サーバーによって提供されると、.html が参照する JavaScript と html が不足します。

次のように .html ファイルをクライアントに送信します。

サーバーは .html ファイルのみを送信しているため、ローカルの js/css が正しくロードされていないと想定しています。ページを正しく表示できるように、これらのファイルを .html ファイルと一緒に送信する方法があるかどうかを知りたいです。

0 投票する
1 に答える
826 参照

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ラインだと思いますが、念のため。