发送和接收 IQ ASMACK Android XMPP
Posted
技术标签:
【中文标题】发送和接收 IQ ASMACK Android XMPP【英文标题】:Send and Receive IQ ASMACK Android XMPP 【发布时间】:2014-03-10 09:59:14 【问题描述】:我是 XMPP 协议的新手,我试图在 XMPP android 中找到发送和接收 IQ 数据包的好例子,但我失败了,我尝试使用以下代码块但没有帮助。
代码:
final IQ iq = new IQ()
public String getChildElementXML()
return "<iq type='get' from='9f30dacb@web.vlivetech.com/9f30dacb' id='1'> <query xmlns='http://jabber.org/protocol/disco#info'/></iq>"; // here is your query
//"<iq type='get' from='9f30dacb@web.vlivetech.com/9f30dacb' id='1'> <query xmlns='http://jabber.org/protocol/disco#info'/></iq>";
;
// set the type
iq.setType(IQ.Type.GET);
// send the request
connection.sendPacket(iq);
我尝试使用此代码,但它没有向服务器发送任何消息。有人可以帮我写一段正确的代码吗?这样我就可以将我的 IQ 发送到服务器并接收响应
【问题讨论】:
Sending and Receiving Custom IQ XMPP ANDROID ASMACK 的可能重复项 【参考方案1】:还没有测试过,但是试试
IQ iq = new IQ();
iq.setTo("destination@server");
iq.setFrom("9f30dacb@web.vlivetech.com/9f30dacb");
iq.setType(IQ.Type.GET);
iq.setPacketID("1");
connection.sendPacket(iq);
【讨论】:
发送基本消息包怎么样,这样行吗?只是为了确保服务器是否已启动并且用户是否已连接 一个简单的消息包正在工作,但我无法发送 IQ。我想有语法问题或一些我不知道的逻辑错误【参考方案2】:我认为你应该使用正确的目的地地址,包括来自目的地的资源,就像这个例子
iq.setTo("destination@dominio_destination.com/recurso_destination");
现在你可以发送数据包了:
connection.sendPacket(iq);
【讨论】:
@HassaanRabbani- 如何?以上是关于发送和接收 IQ ASMACK Android XMPP的主要内容,如果未能解决你的问题,请参考以下文章
asmak 数据包侦听器和自定义 IQProvider 未触发/调用
Android aSmack - 如何为文件发送自定义消息扩展名?