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

这是我的代码片段

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");

最佳答案

getChildElementXML()返回标签。如果您正在使用Smack,则除非它是一个自定义查询,否则无需编写自己的IQ实现。对于您的情况,要查询名册,请使用RosterPacket

09-26 18:05