这个东西类似于打开“我的连接”所看见的数据包的数量。(看附件)
当然啦~如果能计算某个端口(80或者8080)的进或者出流量也是可以的~
我大概知道用java.net.* 但我不知道具体用啥可以监听到这个连接是否在传递数据(类似于C#的TCPListener)
有谁可以给我指点指点么?不胜感激~
那你监控网卡就可以了.
import jpcap.packet.*;
public class EthernetAnalyzer extends JDPacketAnalyzer
{
private static final String[] valueNames={
"Frame Type",
"Source MAC",
"Destination MAC"
};
private EthernetPacket eth;
public EthernetAnalyzer(){
layer=DATALINK_LAYER;
}
public boolean isAnalyzable(Packet p){
return (p.datalink!=null && p.datalink instanceof EthernetPacket);
}
public String getProtocolName(){
return "Ethernet Frame";
}
public String[] getValueNames(){
return valueNames;
}
public void analyze(Packet p){
if(!isAnalyzable(p)) return;
eth=(EthernetPacket)p.datalink;
}
public Object getValue(String valueName){
for(int i=0;i<valueNames.length;i++)
if(valueNames[i].equals(valueName))
return getValueAt(i);
return null;
}
Object getValueAt(int index){
switch(index){
case 0: return new Integer(eth.frametype);
case 1: return eth.getSourceAddress();
case 2: return eth.getDestinationAddress();
default: return null;
}
}
public Object[] getValues(){
Object[] v=new Object[3];
for(int i=0;i<3;i++)
v[i]=getValueAt(i);
return v;
}
}