問題タブ [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 に答える
696 参照

python - 特定のバージョンの socketio 4.4.0 をインストールするにはどうすればよいですか?

fxcm パッケージに問題があり、 python-socketio 4.4.0をインストールする必要があります。ただし、pipはこのバージョンではできません。

0 投票する
0 に答える
336 参照

javascript - socket.io は、localhost とローカル ネットワークでは機能しますが、サーバーにデプロイされた場合は機能しません

サーバー側と JS クライアントで Python 実装を使用して socket.io アプリを構築しています。

自分のマシンでアプリをテストすると、すべてが機能し、複数のクライアントに接続してサーバーとデータを交換できます。
アプリも機能します。ローカル ネットワークの他のマシンからアクセスすると、デスクトップでアプリをホストし、ラップトップとスマートフォンからアクセスします。

サーバーの 1 つ (Hetzner の VPS) でアプリをホストすると、正しく動作しません。アプリにアクセスして、html/js クライアントをロードすることはできます。クライアントはサーバーとの socket.io 接続も開始しconnectます。サーバー上でイベントを確認できます。
しかし、その後は何も機能しません。イベントを発行できず、サーバーからデータを受信しません。

ブラウザのネットワーク タブを調べると、いくつかの GET リクエスト (HTML、JS、CSS など) と への定期的な GET リクエストが表示され<myserver>/socket.io/?EIO=4&transport=polling&t=NVPxxxます。
これらの GET リクエストのそれぞれがconnectサーバー上でイベントをトリガーします。接続が実際に完全に行われることはないと思います。

私のサーバーコードは次のようになります。

サーバーは、SSL を処理する nginx リバース プロキシの背後で実行され、(私の知る限り) websocket 接続をプロキシするように正しく構成されています。
プロキシ構成が問題の原因ではないことを確認するために、サーバーも直接実行しました。リバース プロキシがなくても、同じ問題が発生します。

クライアントは次のようになります。

そして index.js の JS 部分:

編集 ---
サーバーからのログは次のとおりです。リバース プロキシを使用せずにサーバーを実行しているときに、1 つのクライアントに接続しました。クライアントが接続すると、サーバーは更新イベントをクライアントに送信します。このテストでは、サーバーにはまだデータがないため、更新中のデータは空です。

localStorage.debug = '*';クライアントは、デバッグが有効になっている socket.io クライアントを使用しても、コンソールにデバッグ出力を生成しないようです。
これは、Chrome のネットワーク タブのスクリーンショットです。 ネットワーク タブ クローム

ログは次々に取得されたため、ID が一致しません。