本文整理汇总了C#中IQ.SelectSingleElement方法的典型用法代码示例。如果您正苦于以下问题:C# IQ.SelectSingleElement方法的具体用法?C# IQ.SelectSingleElement怎么用?C# IQ.SelectSingleElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQ
的用法示例。
在下文中一共展示了IQ.SelectSingleElement方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BindResult
/// <summary>
/// </summary>
/// <param name="sender">
/// </param>
/// <param name="iq">
/// </param>
/// <param name="data">
/// </param>
private void BindResult(object sender, IQ iq, object data)
{
// Once the server has generated a resource identifier for the client or accepted the resource
// identifier provided by the client, it MUST return an IQ stanza of type "result"
// to the client, which MUST include a <jid/> child element that specifies the full JID for
// the connected resource as determined by the server:
// Server informs client of successful resource binding:
// <iq type='result' id='bind_2'>
// <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
// <jid>[email protected]/someresource</jid>
// </bind>
// </iq>
if (iq.Type == IqType.result)
{
// i assume the server could assign another resource here to the client
// so grep the resource assigned by the server now
Element bind = iq.SelectSingleElement(typeof (Bind));
if (bind != null)
{
Jid jid = ((Bind) bind).Jid;
m_XmppClient.Resource = jid.Resource;
m_XmppClient.Username = jid.User;
}
m_XmppClient.DoChangeXmppConnectionState(XmppConnectionState.Binded);
m_XmppClient.m_Binded = true;
m_XmppClient.DoRaiseEventBinded();
// success, so start the session now
m_XmppClient.DoChangeXmppConnectionState(XmppConnectionState.StartSession);
SessionIq sIq = new SessionIq(IqType.set, new Jid(m_XmppClient.Server));
m_XmppClient.IqGrabber.SendIq(sIq, new IqCB(SessionResult), null);
}
else if (iq.Type == IqType.error)
{
// TODO, handle bind errors
}
}
示例2: OnBrowseIQ
private void OnBrowseIQ(object sender, IQ iq, object data)
{
Element element = iq.SelectSingleElement(typeof(Service));
if (element != null)
{
string[] namespaces = (element as Service).GetNamespaces();
}
}