【问题标题】:how to use smack 4.1 for how to send info query packet to xmpp server?如何使用 smack 4.1 向 xmpp 服务器发送信息查询数据包?
【发布时间】:2017-05-28 14:39:56
【问题描述】:

如何向xmpp服务器发送信息查询包,也就是说如何向服务器发送“...”来查询一些信息?

<iq type='set' id='123'>
 <push xmlns='p1:push'>
   <keepalive max="30"/>
   <session duration="60"/>
   <body send="all" groupchat="true" from="jid"/>
   <status type="xa">Text Message when in push mode</status>
   <offline>false</offline>
   <notification>
       <type>applepush</type>
       <id>DeviceToken</id>
   </notification>
   <appid>application1</appid>
 </push>
</iq>

【问题讨论】:

标签: android xmpp smack


【解决方案1】:

iq 标头和命名空间、元素由 smack 自己处理或填充到 xml 中。下面给出了一个xml中的示例IQ数据包及其扩展IQ数据包的实现。

<iq to='jid@domain.in' id='khz0k-13678' type='get'><elementName xmlns='http://jabber.org/protocol/muc#something'><item affiliation="member"/></elementName></iq>

public class IQGetSomething extends IQ {
public static final String ELEMENT = "elementName";
public static final String NAMESPACE = "http://jabber.org/protocol/muc#something";
String memberType;

public IQGetSomething() {
    super(ELEMENT, NAMESPACE);
    setType(Type.get);
}

public String getMemberType() {
    return memberType;
}

public void setMemberType(String memberType) {
    this.memberType = memberType;
}


@Override
protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder xml) {
    xml.rightAngleBracket();
    xml.append("<item affiliation=\"").escape(memberType).append("\"/>");
    return xml;
}
}

【讨论】:

  • 我们如何在 XMPP 连接初始化时通过发送刷新令牌来使用 Firebase 和 XMPP?@Flow
  • 如何在 XMPP 中通过 xml 发送上述参数以进行推送配置? @rabhis
  • 如何将 IQGetSomething 发送到 android 中的连接对象??
  • W/AbstractXMPPConnection:当我尝试在 smack 连接中声明此类对象时,连接因错误而关闭
猜你喜欢
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多