Xmpp 在Packetlistenr smack中持续发送数据包
我有一个Packetlistener,在其中可以显示从不同资源更改的状态。我想要的是,无论何时状态从其他资源更改,它都应该重新发送接收到的状态数据包,但只发送一次。然而,它不断地发送数据包Xmpp 在Packetlistenr smack中持续发送数据包,xmpp,smack,Xmpp,Smack,我有一个Packetlistener,在其中可以显示从不同资源更改的状态。我想要的是,无论何时状态从其他资源更改,它都应该重新发送接收到的状态数据包,但只发送一次。然而,它不断地发送数据包 connection.addPacketListener(new PacketListener(){ @Override public void processPacket(Packet presencePkt) { pres= ((
connection.addPacketListener(new PacketListener(){
@Override
public void processPacket(Packet presencePkt) {
pres= ((Presence) presencePkt);
switch(pres.getMode()){
case available:
connection.sendPacket(pres);
break;
case dnd:
connection.sendPacket(pres);
break;
default :
break;
}
}
}, new PacketTypeFilter(Presence.class));
如果我正确地解释了您的代码,您只需按原样重新发送一个状态数据包,从而再次将该数据包直接发送给您自己。您收到了“重新发送”数据包,但不知道它已经被您重新发送,然后再次发送,以此类推 如果您真的只想将数据包重新发送给自己一次,您可能希望在重新发送之前分配一个ID