Socket.ioを使用する私のTwitterストリーミングアプリは、IPアドレスとポートでサイトにアクセスすると問題なく動作しますが、ドメイン名を使用してサイトにアクセスすると、ライブストリーミングでエラーがスローされます。 ????
以下のリンクを試し、開発者ツールを開いてエラーを確認してください
この形式に従う数百のソケットエラー:
_WebSocket connection to
'ws://sentiment-sweep.com/socket.io/?EIO=3&transport=websocket&sid=guBmeCqsOr22CTsWAAC0'
failed: WebSocket is closed before the connection is established.
_
最初は上記のソケットエラーのいくつかですが、その後10〜15秒後にアプリが正常に動作し始めます
私はこれを数年前に作成しましたNode大学プロジェクトのアプリです。数年前に更新しました。更新し続けます。Socket.ioとTwitter APIを使用して、ライブツイートをストリーミングし、感情を計算し、D3を使用して結果を視覚的に表示します。ポート転送にNGINXを使用しています。
参考までに、これが私のgitリポジトリです: https://github.com/Lissy93/Twitter-sentiment-visualisation
最近、HTML/CSSに小さな変更を加え、いくつかの依存関係を更新しました。このとき、この奇妙なsocket.ioの問題が発生しました
io.connect();
を使用します以前にこれに似た問題を見た人はいますか?提案、コメント、回答はいただければ幸いです。事前に感謝いたします。
解決策を見つけました、そしてそれは実際に簡単でした!私がこれに2日間行き詰っていたため、ここに回答を投稿して、同様の問題に直面している他のユーザーを支援します。
私の問題は 依存関係の更新 が原因でした。
リリースノートによると:
新しい(V 2.0.0)メジャーリリースでは、いくつかのパフォーマンスが改善されていますが、リリースノートの最後に次のように記載されています。
次の理由により、このリリースには下位互換性がありません。
- Engine.io-parserのutf-8エンコーディングに関連する重大な変更(socketio/engine.io-parser#81)
- クライアントのソケットIDをサーバー側のIDと一致させるための更新(socketio/socket.io-client#1058)
自己署名証明書を使用している場合、rejectUnauthorizedはデフォルトでtrueになっていることに注意してください(socketio/engine.io-client#558)。
V2の完全なリリースノートは次のとおりです。 https://github.com/socketio/socket.io/releases/tag/2.0.
ドキュメントに従って、アプリをhttpsにするか、独自のリクエストに署名します。簡単な修正として、socket.io V 1.7.0にダウングレードしましたが、完全に機能しますか????