0

私は現在、OpenFireサーバーで利用可能なユーザーのリストを取得するためにStropheベースのjavascriptスクリプトを作成しようとしています(ライブリフレッシュが必要です)。グループ、部屋、またはそれが呼ばれるものを作成する必要があるかどうかは関係ありません(とにかく、サーバーは少数のユーザーグループに対してのみ実行され、全員が相互に接続されます)が、サーバーを作成できるようにしたいと思いますそのようなリストを与えてください。これどうやってするの?muc拡張子を使用する必要があることを読みましたが、どこにも見つからないようです...

4

1 に答える 1

3

問題が解決しました!一緒に作業していたユーザーをグループに追加する必要があり、ユーザーが部屋を出たり入ったりするたびに、OpenFireは、ほとんどの場合、ボディタグに包まれたプレゼンススタンザで部屋の他のユーザーに通知します。これにより、Stropheはこれらのプレゼンススタンザを適切に識別できなくなります。そのため、サーバーから取得するすべてのxmlスタンザを取得するには、Strophe接続からxmlInput関数を上書きする必要がありました。

conn.xmlInput = onXmlInput;
function onXmlInput(data) {
    Strophe.forEachChild(data, "presence", function(child) {
        var from = child.getAttribute('from');
        from = from.substring(0, from.indexOf('@'));
        //'type' will contain "unavailable" when offline and no attribute 'type' when online
        if (!child.hasAttribute('type')) {
            addUser(from);
        } else {                    
            deleteUser(from);
        }
    });
}
于 2012-04-25T04:35:48.987 に答える