0

PaulFreunds XMPP ライブラリを使用して Windows 8 チャット プログラムを作成しています - PaulFreund/XMPP

私には 2 つの問題があります。まず、リソースを手動でバインドする必要があります。境界リソース タグをコードのどこに配置すればよいかわかりません。クライアントが接続しているときに送信する必要がありますが、その場所に到達できません。クライアントが接続された後、タグを送信するとエラーが発生します。鬼ごっこ:

        public void bindResource()
    {
        var iq = new XMPP.tags.jabber.client.iq();
        iq.type = XMPP.tags.jabber.client.iq.typeEnum.set;
        var bind = new XMPP.tags.xmpp_bind.bind();
        var resource = new XMPP.tags.xmpp_bind.resource();
        resource.Add("myresource");
        bind.Add(resource);
        iq.Add(bind);
        Client.Send(iq);
    }

2つ目も注文が難しいです。リクエストで友達リストを取得したい:

        public void getFriends()
    {
        var iq = new XMPP.tags.jabber.iq.roster.query();
        var tag = new XMPP.tags.jabber.client.iq();
        tag.type = XMPP.tags.jabber.client.iq.typeEnum.get;
        tag.Add(iq);
        Client.Send(tag);
    }

それは正常に動作します。しかし、ここでは、サーバーからステータスに関するプレゼンスを取得した後、それを処理したいと考えています。(私たちはリスト上のすべての友人からそれを知っているので、それをサーバーと呼びましょう)連絡先リストにオンライン値を設定しているためです。私は今のように順番にそれを行うことができます: 1 番目のステータス 2 番目のフレンド リストですが、作成したくないキャッシュ ファイルを作成する必要があります。イベントに入れてみましたOnConnectedが、そのリストの前にもfirendsからの存在が来ています。

4

1 に答える 1