如何在agsXMPP中获取我的Vcard?

时间:2014-02-20 22:52:57

标签: xmpp vcard agsxmpp

我想从服务器上获取我的Vcard。 我通过以下代码将我的Vcard发送到服务器:

VcardIq viq = new VcardIq(IqType.set, new Jid(XmppCon.Server));
viq.Vcard.Nickname = "Alex";
XmppCon.Send(viq); 

我从this知道如何获取其他用户的Vcard。但这种方法对我的注册ID不起作用。 任何人都可以帮我从agsXMPP服务器上获取我的Vcard吗?

1 个答案:

答案 0 :(得分:2)

以下是示例代码

public void GetMyVcard()
{
  VcardIq viq = new VcardIq(IqType.get);  
  xmppCon.IqGrabber.SendIq(viq, new IqCB(VcardResult), null);
}

private void VcardResult(object sender, IQ iq, object data)
{
  if (iq.Type == IqType.result)
  {
    Vcard vcard = iq.Vcard;
    if (vcard != null)
    {
      string fullname = vcard.Fullname;
      string nickname = vcard.Nickname;
      string description = vcard.Description;
      Photo photo = vcard.Photo;       
    }
  }
}