当前位置:首页 > 操作系统 > MacOs

如何使用smack(java)创建,发送和接收iq数据包

我连接到服务器(Xmpp)
但无法在我的psi客户端发送和接收数据包

这是我的代码片段

<code>POSClientIQ posclientiq = new POSClientIQ();
    posclientiq.connectXMPPServer();
    posclientiq.processMessage();
   }

   public void processMessage()
   {  try{

      final  IQ iq1 = new IQ() {
     public String getChildElementXML() {
      return "<iq type='get' from ='sam'><query xmlns='jabber:iq:roster'></query></iq>";
    }
  };

  iq1.setType(IQ.Type.GET);
 // PacketCollector collector = connection.createPacketCollector(new PacketIDFilter(iq1.getPacketID()));
  connection.sendPacket(iq1);

  System.out.println("Message send");
</code>

解决方法:

getChildElementXML()返回标记.如果您使用Smack,那么除非是自定义查询,否则您不需要编写自己的IQ实现.对于您的情况,查询名册使用RosterPacket.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐