collector.cancel();
if (packet == null) {
} else {
System.out.println("final packet xml = " + packet.toXML());
}
con.disconnect();
}
}
package org.jivesoftware.expand.send.test;
import org.jivesoftware.smack.PacketCollector;
import org.jivesoftware.smack.SmackConfiguration;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.filter.PacketFilter;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.provider.ProviderManager;
import org.jivesoftware.spark.SparkManager;
public class SendIQTestrr {
public static void run() throws Exception {
ProviderManager.getInstance().addIQProvider(TestrrIQ.ELEMENT,
TestrrIQ.NAMESPACE, new TestrrIQProvider());
XMPPConnection con = SparkManager.getConnection();
PacketCollector collector = con
.createPacketCollector(new PacketFilter() {
public boolean accept(Packet p) {
System.out.println("accept packet xml = " + p.toXML());
if (p instanceof TestrrIQ) {
TestrrIQ m = (TestrrIQ) p;
System.out.println(p.toXML());
System.out.println(m.toXML());
return true;
}
return false;
}
});
TestrrIQ disco = new TestrrIQ();
disco.setType(IQ.Type.GET);
disco.setNode(null);
con.sendPacket(disco);
Packet packet = collector.nextResult(SmackConfiguration
.getPacketReplyTimeout());
collector.cancel();
if (packet == null) {
} else {
System.out.println("final packet xml = " + packet.toXML());
}
con.disconnect();
}
}
4.触发测试方法(可自行编写触发测试类界面)
[java]
//此处仅提供按钮触发代码
JButton jButton = new JButton();
jButton.setLabel("hava a test");
jButton.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("wahahaha!");
// buildCrowdList(); // TODO
try {
SendIQTestrr.run();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
@Override
public void mouseEntered(MouseEvent e) { // TODO
}
@Override
public void mouseExited(MouseEvent e) { // TODO
}
@Override
public void mousePressed(MouseEvent e) { // TODO
}
@Override
public void mouseReleased(MouseEvent e) { // TODO
}
});
//此处仅提供按钮触发代码
JButton jButton = new JButton();
jButton.setLabel("hava a test");
jButton.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("wahahaha!");
// buildCrowdList(); // TODO
try {
SendIQTestrr.run();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
@Override
public void mouseEntered(MouseEvent e) { // TODO
}
@Override
public void mouseExited(MouseEvent e) { // TODO
}
@Override
public void mousePressed(MouseEvent e) { // TODO
}
@Ov