0

Meteorの外部から誰かがMeteorにログインしているかどうかを確認する方法はありますか?たとえば、Express.jsアプリケーションから?Expressアプリから、現在ログインしているユーザーが特定のクライアントにいることを知りたいので、APIが呼び出された場合、API呼び出しの結果を誰に適用するかを知ることができます。

4

1 に答える 1

1

したがって、これは2つの部分で行うのが最適です。

ユーザーがmeteorでオンラインかどうかを確認する方法

あなたはおそらく流星スマートパッケージ(コミュニティパッケージリポジトリ)でそれを行うことができます:https ://github.com/erundook/meteor-profile-online

を介してインストールされた隕石があることを確認してくださいnpm install meteorite -g

パッケージリポジトリで使用する:mrt add profile-online

Expressを使用した流星のデータへのアクセス

Expressのコンテンツにアクセスするには、DDPクライアントが必要です。これはpre1(Meteor 0.57+を搭載したDDPのバージョン)で動作することを知っています:https ://github.com/EventedMind/node-ddp-client

あなたは流星であなたをチェックする方法を持つことができます

サーバーjs(Meteor)

Meteor.methods({
    'isonline: function(id) { 
        return Meteor.users.find(id).profile.online;
    }
}

特急:

var client = new DDPClient({
    host: "localhost",
    port: 3000
});

userid = '1' //The user _id of the person you want to check
client.connect(function () {
   console.log("Connected to Meteor at localhost:3000");
   client.call("isonline", [userid], function(err,result) {
        client.close();
            if(!err) {
                if(result) {
                    console.log("User " + userid + " is online");
                }
                else
                {
                    console.log("That user isn't online");
                }
            }
            else
            {
                console.log(err)
            }
   });
});
于 2013-03-14T18:07:51.483 に答える