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

📄 anycast_listen.java

📁 主要用于无线传感网络的编写的书籍.对于初学者有着很大的用处
💻 JAVA
字号:
// $Id: Listen.java,v 1.5 2004/08/19 00:13:49 idgay Exp $/*									tab:4 * "Copyright (c) 2000-2003 The Regents of the University  of California.   * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. *  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." * * Copyright (c) 2002-2003 Intel Corporation * All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE      * file. If you do not find these files, copies can be found by writing to * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,  * 94704.  Attention:  Intel License Inquiry. */package net.tinyos.tools;import java.io.*;import net.tinyos.packet.*;import net.tinyos.util.*;import net.tinyos.message.*;public class Anycast_Listen {    public static void main(String args[]) throws IOException {	if (args.length > 0) {	    System.err.println("usage: java net.tinyos.tools.Listen");	    System.exit(2);	}		PacketSource reader = BuildSource.makePacketSource();	if (reader == null) {	    System.err.println("Invalid packet source (check your MOTECOM environment variable)");	    System.exit(2);	}	try {	  reader.open(PrintStreamMessenger.err);	  for (;;) {	    byte[] packet = reader.readPacket();	    anycast_info(packet);	    //Dump.printPacket(System.out, packet);	    //System.out.println();	    //System.out.flush();	  }	}	catch (IOException e) {	    System.err.println("Error on " + reader.getName() + ": " + e);	}    }    public static String addzero(String in) {	while(in.length() != 2)	    in = "0" + in;	return in;    }    public static void anycast_info(byte[] packet) {	if(packet.length != 34) {	    System.out.println("Unknown packet received");	    return;	}	int i=6;	String src1 = addzero(Integer.toHexString(packet[i+1] & 0xff).toUpperCase())+""+		addzero(Integer.toHexString(packet[i] & 0xff).toUpperCase());	int src = Integer.parseInt(src1,16);	i+=2;	String parent1 = addzero(Integer.toHexString(packet[i+1] & 0xff).toUpperCase())+""+		addzero(Integer.toHexString(packet[i] & 0xff).toUpperCase());	int parent = Integer.parseInt(parent1,16);	i+=2;	String seq1 = Integer.toHexString(packet[i++] & 0xff).toUpperCase();		int seq = Integer.parseInt(seq1,16);	String hop1 = Integer.toHexString(packet[i++] & 0xff).toUpperCase();	int hop = Integer.parseInt(hop1,16);		String from1 = addzero(Integer.toHexString(packet[i+1] & 0xff).toUpperCase())+""+		addzero(Integer.toHexString(packet[i] & 0xff).toUpperCase());	int from = Integer.parseInt(from1,16);	//System.out.println("[" + new java.util.Date() + "]");	System.out.println("src:" + src + " par:" + parent + " seq:" + seq + " hop:" + hop);    }}

⌨️ 快捷键说明

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