現在Monacaでチャットアプリを作っています。
NiftyClouを仲介役にユーザーの入室や新規チャットメッセージが有った場合には入室しているユーザ全員にデータを送信しようかと思っています。
http://mb.cloud.nifty.com/doc/current/script/basic_usage_monaca.html
この時、多くて1000人ぐらいの利用者がいたとして、通信速度での欠点はありますでしょうか?
コードと送受信進行を乗せさせていただきます。
//クライアント処理 ncmb=new NCMB(L_AppKey,L_ClientKey); //チャットに新規に入室した時のFunction function InChat(){ //自身のIDとチャット部屋のIDをクラウド側のClass”ID”に格納 var Class = ncmb.DataStore("ID"); var _class = new Class(); _class.set("UserID", UserID).set("ChatID",ChatID) .save() .then(){}.catch(){} //Nifty側にアップロードしたスクリプトを呼び出し ncmb.Script.data({"UserID":UserID}) .exec("POST", "NiftyScript.js") .then(){}.catch(){}; }
↓ クラウド処理
////Nifty側スクリプト NiftyScript.js module.exports = function(req) { var ncmb = new NCMB(YOUR_APPLICATION_KEY, YOUR_SECRET_KEY);//割愛 var Users = ncmb.DataStore('ID'); var Debug; queries = {:count => "1", :limit => "1000", :order => "ChatID", :skip => "0"} var data=Users.get queries; //dataに取得した同じ部屋のユーザにプッシュ通知を送る(まだ未実装です、http://mb.cloud.nifty.com/doc/current/rest/push/pushRegistration.html) }
他の情報を調べてみるとSocket.IOとゆう通信機能を組み込んでの実装が主流のようですね、理由はサーバーの負荷が少なく実装出来るからとの事でしたが、NiftyCloudの場合はどうなのか気になり質問させていただきました。
Niftyでのスクリプトで検索機能を使っていますが、以下の方法でも実装が可能なようでして、、どう違うのかも解りません。
http://mb.cloud.nifty.com/doc/current/rest/datastore/objectSearch.html
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。