|
我使用JBuilder2006做了一个抓包然后回显的小程序,通过监听button的
事件触发:
public void jButton1_mouseClicked(MouseEvent e) {
try{
jpcap=Jpcap.openDevice(Jpcap.getDeviceList()[1],1024,false,10000);
jpcap.loopPacket(10,new GetPacket());
----------
}
catch(java.io.IOException f){
System.out.println("We can't open device");
}
}
其中的 GetPacket()类为
import jpcap.*;
import java.util.Vector;
import javax.swing.JList;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
class GetPacket implements JpcapHandler{
public void handlePacket(Packet packet){
Frame.listMode1.addElement(packet);
}
}
/*listMode1是一个显示时的静态对象,用于向一个JList增加包的显示行,定义为 public static DefaultListModel listMode1=new DefaultListModel();
JList jList1 = new JList(listMode1);*/
使用jpcap.loopPacket(10,new GetPacket()),我想要的是一共抓十个包,抓到一个包显示一个,但我这里出现的情况是,抓到所有的包之后,才一起显示,这与Jpcap.loopPacket()的方法定义不符合,是什么原因造成的?请高手指教,3Q! |
|