Java 프로그래밍을 통해 두 MAC 주소 사이의 모든 MAC를 스트리밍하는 방법

2264 단어 JavaMAC
본고는 자바 프로그래밍이 두 MAC 주소 사이의 모든 MAC를 훑어보는 방법을 실례로 설명한다.다음과 같이 여러분에게 참고할 수 있도록 공유합니다.
배포된 장치를 백그라운드 관리할 때 장치 MAC라는 필드를 사용할 때가 많습니다. 유일한 장치를 표시할 수 있습니다.그러나 데이터베이스에 대량으로 MAC 주소를 저장할 때 해석 텍스트를 줄마다 추가하는 방식을 사용하면 조작이 복잡하고 사전에 MAC 주소 텍스트를 생성해야 한다.사실 MAC 주소는 16진법에 따라 점차적으로 증가하기 때문에 한 구간만 제시하면 모든 MAC 주소를 하나씩 꺼낼 수 있다.다음은 필자가 봉인한 두 개의 MAC 주소를 통해 매거진 구간에 있는 모든 MAC의 함수입니다.

/**  MAC MAC  */ 
public static void countBetweenMac(String macStart, String macEnd){ 
  long start = turnMacToLong(macStart); 
  long end = turnMacToLong(macEnd); 
  String prefix = macStart.substring(0,9); 
  String hex = null; 
  String suffix = null; 
  StringBuffer sb = null; 
  for(long i=start; i< end +1; i++){ 
   hex = Long.toHexString(i); 
   suffix = hex.substring(hex.length()-6); 
   sb = new StringBuffer(suffix); 
   sb.insert(2, ":"); 
   sb.insert(5, ":"); 
   System.out.println(prefix + sb.toString()); 
  } 
}
/**  MAC  */ 
public static long turnMacToLong(String MAC){ 
  String hex = MAC.replaceAll("\\:", ""); 
  long longMac = Long.parseLong(hex, 16); 
  return longMac; 
}

두 MAC 사이의 MAC 개수 함수를 계산하는 추가 기능:

/**  MAC  */ 
public static long countMac1(String macStart, String macEnd){ 
  String hexStart = macStart.replaceAll("\\:", ""); 
  String hexEnd = macEnd.replaceAll("\\:", ""); 
  long start = Long.parseLong(hexStart, 16); 
  long end = Long.parseLong(hexEnd, 16); 
  return end-start+1; 
}
/**  MAC  */ 
public static long countMac(String macStart, String macEnd){ 
  String[] start = macStart.split("\\:"); 
  String[] end = macEnd.split("\\:"); 
  int x,y,z; 
  int a,b,c; 
  x = Integer.parseInt(start[3],16); 
  y = Integer.parseInt(start[4],16); 
  z = Integer.parseInt(start[5],16); 
  a = Integer.parseInt(end[3],16); 
  b = Integer.parseInt(end[4],16); 
  c = Integer.parseInt(end[5],16); 
  return (a-x)*16*16*16 + (b-y)*16*16 + c-z+1; 
}

본 논문이 여러분의 Java 프로그램 설계에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기