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

📄 ipmetric.java

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

import java.nio.ByteBuffer;

/**
 * 38 * 24 + 168 = 1080 bytes
 * @author as
 *
 */
public class IPMetric {	
	
	public static final int length = 1080;
	
	public MetricUnit broadcast = new MetricUnit();

	public MetricUnit multicast = new MetricUnit();

	public MetricUnit unicast = new MetricUnit();

	public TTLMetric ttl = new TTLMetric();

	public MetricUnit tcp = new MetricUnit();

	public MetricUnit udp = new MetricUnit();

	public MetricUnit icmp = new MetricUnit();

	public MetricUnit ospf = new MetricUnit();

	public MetricUnit isis = new MetricUnit();

	public MetricUnit egp = new MetricUnit();

	public MetricUnit ah = new MetricUnit(); // Authentication Header

	public MetricUnit esp = new MetricUnit(); // Encapsulating Security Payload

	public MetricUnit igmp = new MetricUnit(); // Internet Group Management Protocol

	public MetricUnit gre = new MetricUnit(); // General Routing Encapsulation

	public MetricUnit mtp = new MetricUnit(); // Multicast Transport Protocol

	public MetricUnit ipinip = new MetricUnit(); // IP in IP encapsulation

	public MetricUnit sp = new MetricUnit(); // Internet Stream Protocol

	public MetricUnit igrp = new MetricUnit();

	public MetricUnit chaos = new MetricUnit();

	public MetricUnit rdp = new MetricUnit(); // Reliable Data Protocol

	public MetricUnit irtp = new MetricUnit(); // Internet Reliable Transaction Protocol

	public MetricUnit ipv6over4 = new MetricUnit(); // IPv6 over IPv4

	public MetricUnit rsvp = new MetricUnit();

	public MetricUnit idrp = new MetricUnit(); // Inter-Domain Routing Protocol

	public MetricUnit mhrp = new MetricUnit(); // Mobile Host Routing Protocol

	public MetricUnit ipencry = new MetricUnit(); // IP with Encryption

	public MetricUnit pvp = new MetricUnit(); // Packet Video Protocol

	public MetricUnit eigrp = new MetricUnit();

	public MetricUnit micp = new MetricUnit(); // Mobile Internetworking Control Protocol

	public MetricUnit pnnioverip = new MetricUnit(); // PNNI over IP

	public MetricUnit ipxinip = new MetricUnit();

	public MetricUnit pim = new MetricUnit(); // Protocol Independent Multicast

	public MetricUnit ippcp = new MetricUnit(); // IP Payload Compression Protocol

	public MetricUnit smp = new MetricUnit(); // Simple Message Protocol

	public MetricUnit sctp = new MetricUnit(); // Stream Control Transmission Protocol

	public MetricUnit pipe = new MetricUnit(); // PIPE, Private IP Encapsulation within IP.

	public MetricUnit mobile6 = new MetricUnit(); // only for IPv6

	public MetricUnit ggp = new MetricUnit(); // Gateway to Gateway Protocol

	public MetricUnit unknow = new MetricUnit();
	
	
	public void store(byte[] result) {
		
		if (result.length != length) {
			System.err.println("[IPMetric.store()] param len wrong.");
		}
		
		ByteBuffer buf = ByteBuffer.wrap(result);
		
		byte[] b = new byte[MetricUnit.length];
		buf.get(b);
		broadcast.store(b);

		buf.get(b);
		multicast.store(b);

		buf.get(b);
		unicast.store(b);

		b = new byte[TTLMetric.length];
		buf.get(b);
		ttl.store(b);

		b = new byte[MetricUnit.length];
		buf.get(b);
		tcp.store(b);		

		buf.get(b);
		udp.store(b);
		
		buf.get(b);
		icmp.store(b);

		buf.get(b);
		ospf.store(b);
		
		buf.get(b);
		isis.store(b);

		buf.get(b);
		egp.store(b);

		buf.get(b);
		ah.store(b); // Authentication Header

		buf.get(b);
		esp.store(b); // Encapsulating Security Payload

		buf.get(b);
		igmp.store(b); // Internet Group Management Protocol

		buf.get(b);
		gre.store(b); // General Routing Encapsulation

		buf.get(b);
		mtp.store(b); // Multicast Transport Protocol

		buf.get(b);
		ipinip.store(b); // IP in IP encapsulation

		buf.get(b);
		sp.store(b); // Internet Stream Protocol

		buf.get(b);
		igrp.store(b);

		buf.get(b);
		chaos.store(b);

		buf.get(b);
		rdp.store(b); // Reliable Data Protocol

		buf.get(b);
		irtp.store(b); // Internet Reliable Transaction Protocol

		buf.get(b);
		ipv6over4.store(b); // IPv6 over IPv4

		buf.get(b);
		rsvp.store(b);

		buf.get(b);
		idrp.store(b); // Inter-Domain Routing Protocol
		
		buf.get(b);
		mhrp.store(b); // Mobile Host Routing Protocol

		buf.get(b);
		ipencry.store(b); // IP with Encryption

		buf.get(b);
		pvp.store(b); // Packet Video Protocol

		buf.get(b);
		eigrp.store(b);

		buf.get(b);
		micp.store(b); // Mobile Internetworking Control Protocol

		buf.get(b);
		pnnioverip.store(b); // PNNI over IP

		buf.get(b);
		ipxinip.store(b);

		buf.get(b);
		pim.store(b); // Protocol Independent Multicast

		buf.get(b);
		ippcp.store(b); // IP Payload Compression Protocol

		buf.get(b);
		smp.store(b); // Simple Message Protocol

		buf.get(b);
		sctp.store(b); // Stream Control Transmission Protocol

		buf.get(b);
		pipe.store(b); // PIPE, Private IP Encapsulation within IP.

		buf.get(b);
		mobile6.store(b); // only for IPv6

		buf.get(b);
		ggp.store(b); // Gateway to Gateway Protocol

		buf.get(b);
		unknow.store(b);
		
	}
}

⌨️ 快捷键说明

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