Как правильно слушать MultiUserChat в Smack?
Я не уверен, как правильно слушать MultiUserChats, поскольку есть два разных способа их прослушивания.
Первый способ - добавить MessageListener для каждой комнаты, например так:
MultiUserChat muc = new MultiUserChat(connection,"MyGroup");
muc.addMessageListener(new PacketListener() {
@Override
public void processPacket(Packet packet) throws NotConnectedException {
// TODO Auto-generated method stub
}
});
Второй способ - слушать как обычные сообщения в одном чате:
PacketFilter filter = new MessageTypeFilter(Message.Type.groupchat);
connection.addPacketListener(new PacketListener() {
@Override
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
final String fromName = StringUtils.parseBareAddress(message.getFrom());
final String Rtext = message.getBody();
Учитывая, что я также слушаю передачу файлов, не могли бы вы помочь мне выяснить, какой путь является правильным?