2014-01-31 5 views
0

Моя проблема в том, что я не смог получить подключенные чаты. Я использую openfire server 3.8.2 и asmack library asmack-android-16.jar. Когда я вызываю функцию getJoinedRooms, я получаю ошибку не найденной. хотя я вижу, что пользователь подключен в комнату от консоли администратора. Это проблема сервера или проблема с клиентом или проблема с asmack? Скажите, пожалуйста, если кто-то может подключиться к чатам, используя openfire и asmack для Android.Невозможно получить доступ к чату с помощью asmack

вот как я называю функцией:

Iterator RoomsIterator=MultiUserChat.getJoinedRooms(MyService.getConnection(),"[email protected]"); 

я также попробовал это, но это не дает никакой формы ответа сервера: итератора RoomsIterator = MultiUserChat.getJoinedRooms (MyService.getConnection(), "[email protected] .1.3/Смак ");

Пожалуйста, помогите мне с моей проблемой Заранее спасибо.

ответ

1

Я решил проблему, добавив прослушиватель пакетов после вызова get join rooms function .. как я получал пустой список, но когда я отлаживаю, я проверяю, что комнаты возвращались в результирующую строку xml, которая была отправлена сервер поэтому я запустить функцию getjoinedroom из asmack, а затем я вручную добавить га пакетов слушателя, как это:

public void AddPacketListener(){ 
PacketFilter filter = new IQTypeFilter(IQ.Type.RESULT); 
MyService.getConnection().addPacketListener(new PacketListener() 
{ 
public void processPacket(Packet paramPacket) { 

if(paramPacket.getFrom().equals(MyService.getConnection().getUser())){ 
     String xml=paramPacket.toXML(); 
     String from[]; 

     System.out.println(xml); 
     from=paramPacket.getFrom().split("/"); 
      Pattern pattern = Pattern.compile("<item jid=\"(.*?)/>"); 
      Matcher matcher = pattern.matcher(xml); 
      String parts[]; 

      Roomlist.clear(); 
      while (matcher.find()) {  

       parts=matcher.group(1).split("@"); 
       Roomlist.add(parts[0]); 

      }  
      return;   
      } 

} 
},filter); 

}

 Смежные вопросы

  • Нет связанных вопросов^_^