私はsocketio/nodeを使って、いくつかのファンキーな統計情報をブラウザに送り出します。私は両方のライブラリの最新バージョンを使用しています。さて、私はこれで問題のカップルを持っています:SocketIO + Node - 失われた接続を回復する
1)ノードのログに警告メッセージ:これは私がちょっとの性質として理解できるXHRの警告の一例である
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace:
at CleartextStream.<anonymous> (events.js:101:17)
at [object Object].<anonymous> (/var/www/lib/other/Socket.IO/lib/socket.io/client.js:83:20)
at [object Object]._onConnect (/var/www/lib/other/Socket.IO/lib/socket.io/transports/xhr-polling.js:23:35)
at [object Object].check (/var/www/lib/other/Socket.IO/lib/socket.io/listener.js:77:12)
at Server.<anonymous> (/var/www/lib/other/Socket.IO/lib/socket.io/listener.js:33:14)
at Server.emit (events.js:45:17)
at HTTPParser.onIncoming (http.js:904:12)
at HTTPParser.onHeadersComplete (http.js:87:31)
at CleartextStream.ondata (http.js:820:22)
at CleartextStream._blow (tls.js:228:29)
XHRは複数の接続/切断です。しかし、私はかなりの数のクライアントが他のトランスポートで接続している場合、私は同じことを取得します。
2)ランダム接続のドロップアウト。いくつかの説明できない理由のために、接続はランダムに脱落します。これは機械やブラウザではなく、特定の輸送手段でもありません。ブラウザ上での接続はランダムにアップデートの受信を停止します。ノードログに特定の切断メッセージがなく、ブラウザを手動で更新することで問題が解決されます。
このように2つの問題は関連しているのでしょうか別々の問題ですか。これらの接続が切断されたことがありますか?もしそうなら、どのようにそれらを解決することができましたか?非常にイライラしているので、100%完璧に近いです。私は、自分のアプリケーションのページを見ているすべてのクライアントが何時間も、一日でも一貫したアップデートを受け取ることができるという知識の中で、暖かく気楽に過ごしたいと思っています。
あなたのご助力とアドバイスは大歓迎です!
乾杯、
ピート
socket.ioとnodeのどのバージョンを使用していますか? –
私はsocket.ioを使用していて、一見無作為な切断を経験しています。私はもっと光を放つことができればいいと思うが、なぜそれが起こるのか分からない。再現するのが難しいため、ユーザーが何を言っているのか、多くのことが起こっています。 – mikeycgto