問題タブ [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 - 特定のバージョンの socketio 4.4.0 をインストールするにはどうすればよいですか?
fxcm パッケージに問題があり、 python-socketio 4.4.0をインストールする必要があります。ただし、pipはこのバージョンではできません。
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 が一致しません。