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からの存在が来ています。