⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flowmetric.java

📁 利用Java Socket写的一段通讯协议
💻 JAVA
字号:
package com.ict.netcom2.metric;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import com.ict.netcom2.util.*;

/**
 * 基于流的统计信息 
 * 120 bytes
 */
public class FlowMetric {
	
	public static final int length = 120;
	
	public int active_ippair; // 并发IPPair数目???活的还是死的?

	public int active_flow; // 并发流数目

	public int newadd_flow; // 新增流数目

	public int died_flow; // 老化的流数目

	public FlowPktDistMetric pktsize_dist = new FlowPktDistMetric(); // 流大小分布(by packet)

	public FlowByteDistMetric bytesize_dist = new FlowByteDistMetric(); // 流大小分布(by byte)

	public FlowDurDistMetric duration_dist = new FlowDurDistMetric(); // 持续时间分布

	
	public void store(byte[] result) {
		
		if (result.length != length) {
			System.err.println("[FlowMetric.store()] param len wrong.");
		}
		
		ByteBuffer buf = ByteBuffer.wrap(result);
		buf.order(ByteOrder.LITTLE_ENDIAN);
		
		this.active_ippair = buf.getInt();
		this.active_flow = buf.getInt();
		this.newadd_flow = buf.getInt();
		this.died_flow = buf.getInt();

		byte[] b = new byte[FlowPktDistMetric.length];
		buf.get(b);
		pktsize_dist.store(b);
		b = new byte[FlowByteDistMetric.length];
		buf.get(b);
		bytesize_dist.store(b);
		b = new byte[FlowDurDistMetric.length];
		buf.get(b);
		duration_dist.store(b);
		
	}
	
	public static void main(String[] args) {
		byte[] result = {0,0,0,0,0,0,0,1,
				0,0,0,0,0,0,0,2,
				0,0,0,3,0,0,0,-1};
		ByteBuffer buf = ByteBuffer.wrap(result);
		byte[] bb = new byte[8];
		byte[] cc = new byte[8];
		buf.getLong();
		Shower.showInVal((buf.get(bb, 0, 8)).array());
		buf.get(cc);
		Shower.showInVal(bb);
		Shower.showInVal(cc);
		
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -