2016-04-30 17 views
0

を実行するために帆でsockets.ioを有効にする私は帆私は複数のポートでsocket.ioの接続を持つことができるアプリを設定する必要があります - 例えば、認証用ポート3999とのデータ同期にポートに4999複数のポートで

をどれでもそうする方法は?

答えて

0

私は昨日同じような質問をしましたが、あなたのものも私のものと似ているようですが、ここで実装しようとしています。

異なるポートで動作する複数のインスタンスがあると仮定すると、それらは互いに直接話すことができず、WebSocketの機能が中断されます。

there are multiple solutions to this(スティッキセッションとRedisのpub/sub機能を使用しているようです)、私はRedisを選択しました。これにはsocket.io-redisというモジュールがあります。 emitter moduleも必要です。ここにあります。

ルートを選択した場合、1台のサーバー上にいくつのサーバー(複数のインスタンスがある複数のサーバー)または多数のインスタンスを実行しても、Redisのおかげで問題なく機能します。

少なくとも私が今知っていることは、数日間探していて、まだ試していないことです。

ロード・バランシングにはNginxを使うことができます(下記参照)。 (socket.ioドキュメントからコピー)

upstream io_nodes { 
    ip_hash; 
    server 127.0.0.1:6001; 
    server 127.0.0.1:6002; 
    server 127.0.0.1:6003; 
    server 127.0.0.1:6004; 
} 
+0

最後bootstrap.js VAR customAppServer = http.createServer(sails.hooks.http.app)別HttpServerを作成することになりました。 var customAppSocket = io(customAppServer); customAppServer.listen( '3001'); module.exports.customAppSocket = customAppSocket; customAppSocket.on( '接続'、関数(ソケット){ sails.config.customRoutes.setListeners(ソケット); socket.emit( 'connected'、{hello: 'world'}); }); – Upasana

関連する問題