1

node.js、socket.io、clusters、redisを使用してアプリを作成しましたが、8つのプロセスで実行されます。各プロセスにゴーストソケットがある可能性はありますか?つまり、すでに切断されているが、すべてのプロセスがそれを認識していて、まだ保持しているわけではないソケットを意味します。

私のアプリは、接続イベントでオンラインカウント(2つの部屋からのソケットカウント)をクライアントに送信します。そして、「HEAD」と呼ばれるプロセスは、3秒ごとにすべてのソケットに「オンラインカウント」を送信します。なぜ私はそれを言っているのですか?ブラウザでアプリに接続すると、最初に8つのプロセスの1つから「オンラインカウント」を取得し、60とし、3秒後にHEADプロセスの「オンラインカウント」から取得しますが、それは非常に異なる数です。

そのため、Redisを介してプロセスに同期されないものがあると思います。出来ますか?

4

1 に答える 1

1

あなたがやりたいことは可能ですが、それは非常に複雑な方法です。また、非同期モデルを持たないが代わりにポーリングするnode.jsを使用していることを考えると、node.js内のこれらの接続をポーリングする方が簡単である可能性があります。

あなたの質問は少し紛らわしいので、私はそれを十分に理解したと思います。

于 2012-10-19T06:28:47.643 に答える