Socket.IOをpm2でクラスタリングするには、ちょっと工夫が必要だったのでメモ forever Node.jsのデーモン化といえばforeverです。しかしクラスタリングしようとすると、Node.jsのコードをクラスタリング対応で書かないといけないのでやや面倒だったりします。今回、foreverよりも高機能なpm2を使ってクラスタリングを試してみました。 pm2 pm2はforeverと同じようにNode.jsをデーモン化するツールですが、モニタ機能やクラスタリング機能などかなり高機能になっています。 pm2のインストール pm2はグローバルでインストールします。 $ npm install -g pm2 対応するNode.jsのバージョンは古いと動かないかもしれません。今回はv0.10.20(on Mac)で動作確認しました。動かすNode.jsアプリはこちらのSocket.IOの
ちょっとSocket.ioを導入する機会があったので、色々調査したのをメモしておきます。 Socket.ioとは node.jsのnpmとして提供されている、WebSocketを手軽に扱えるモジュールです。 多分すごい有名なので、だいたいみなさん知ってると思います。 他にはwebsocket-serverとかもあるんですが、こっちの方が有名ですかね。 特徴として、クライアントサイドのトランスポートがクロスブラウザなところでしょうかね。とても助かります。 詳しいところは公式サイトを見るといいと思います。 Socket.IO: the cross-browser WebSocket for realtime apps. すんごい出たばっかりの頃にも触ったことがあったんですが、今使ってみると機能がすごい増えててびっくり。 機能の紹介とかは他のサイトを見てもらうとして、備忘録的に自分がやった所なん
Socket.IOのnamespaceとroomの使い分けに迷ったのですが、stackoverflowにぴったりの回答がありました。 http://stackoverflow.com/questions/10930286/socket-io-rooms-or-namespacing This is what namespaces and rooms have in common (socket.io v0.9.8): Both namespaces (io.of('/nsp')) and rooms (socket.join('room')) are created on the server side Multiple namespaces and multiple rooms share the same (WebSocket) connection The server will t
I'm trying to use the new "room" feature in Socket.io v.7 to create dynamic chat rooms, but I'm having problems getting static rooms to work in my example. Based on the URL the user selects they should end up in room1 or room2. Anything the user enters in the chat should be broadcast to users in the same room. I have 2 browsers (chrome & ff) each with a tab open to /room1 and /room2, however nothi
基本 var port = 3000 var io = require('socket.io')(port) io.sockets.on("connection", function (socket) { io.sockets.emit("info", "全員に送信") //送信元含む全員に送信 io.emit("info", "省略可") //上と同じ socket.broadcast.emit("info", "送信元以外に送信") //送信元以外の全員に送信 io.to(socket.id).emit('info', '送信元のあなただけ') //特定のユーザーのみ(socket.idで送信元のみに送信) //とあるユーザーから「hogehoge」メッセージを受け取ったらpiyopiyoで送信 socket.on("hogehoge", function (message) { io
Well as the question says what's the difference between close timeout and heartbeat interval parameters in socket.io I read about them in the github page for socket.io https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO But,couldn't quite understand the difference as to how are they related and if the values for both should be same or not in the case when I am manually configuring t
そろそろリリースされるかもしれない(?)開発中のSocket.IO 1.0を試したので、0.9からの変更点などをまとめます。ドキュメントがまともにないため主にソースを読んで調べています(つまり間違いがあるかも)。当然リリース時には機能が大きく変更となる可能性があります。 1.0のインストール方法 npmモジュールとしては提供されていないので、githubのmasterブランチをnpmコマンドでインストールします。 $ npm install LearnBoost/socket.io これだけでサーバー側はだいたいOKのはずですが、クライアント側に依存ライブラリの設定などで不具合があるため、socket.io-clientのcomponent.jsonあたりをもろもろ調整します。とりあえず動かしたい場合は、forkして修正したバージョンをインストールしてください。 $ npm install
最近socket.ioがメジャーバージョンになって少しかわって 今まで io.sockets.socket(id).json.emit('msg', send_msg); みたいな感じでかけてたのですがsockets (namespace)がsocketメソッドを持たなくなってて、「 あれ特定ユーザ探す方法なくね」って思ってたんだけどドキュメントよんでたら Each Socket in Socket.IO is identified by a random, unguessable, unique identifier Socket#id. > For your convenience, each socket automatically joins a room identified by this id. This makes it easy to broadcast messages
This may be a very basic question but I simply don't get it. What is the difference between creating an app using Express.js and starting the app listening on port 1234, for example: var express = require('express'); var app = express(); //app.configure, app.use etc app.listen(1234); and adding an http server: var express = require('express'); var http = require('http'); var app = express(); var s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く