El ejemplo de este artículo indica el método de IP e entero en Java. Compártelo para todos para su referencia. El análisis específico es el siguiente:
1. Puntos de conocimiento básico
Ip-> entero:
Convierta la dirección IP en matriz de bytes a través del cambio de izquierda (<<), (&) o (|) estas operaciones a int to int to int
Entero-> ip:
Operación de desplazamiento derecho (>>>), cambie el derecho a 24 bits y luego realice el operador (&) 0xff.
Operación de desplazamiento derecho (>>>), cambie 16 bits a la derecha y luego realice el operador (&) 0xff.
Operación de desplazamiento derecho (>>>), muévase a la derecha de 8 bits y luego realice el operador (&) 0xff.
El valor entero se realiza con el operador (&) 0xff, y el número obtenido es la cuarta etapa IP.
Segundo, ejemplo de código Java (ipv4util.java)
Paquete Michael.utils; } Catch (Exception e) {tirar nueva ilegalargumentException (iPaddr + "es IP inválido"); . "); Ret [0] = (byte) (integer.parseInt (iparr [0]); ret [1] = (byte) (integer. ParseInt (iparr [1]) & 0xff; ret [2] = (( byte) (integer.parseInt (iparr [2]); ret [3] = (byte) (iparr [3]) y 0xff); ip "); te [] bytes) {return new StringBuffer (). Append (bytes [0] & 0xff) .Append ('.'). Append (bytes [1] & 0xff) .appnd ('.'). Append (bytes [2] & 0xff) .appnd ('.'). addr | ; Byte atic [] intbytes (int ipint) {byte [] ipaddr = new byte [inAddrsz]; (ipint >>> 16) y 0xff); Static string inttoip (int iPint) {return newBuilder () .Append ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((ios se ipint >> 24) y 0xff). Append ('.') .appnd ((ipint >> 16) y 0xff) .appnd ('.'). String [] iparr = ipandmask.split ("/"); TRIM ()); & (0xfffffffffff <(3 3 2 -netmask); int hostscope = (0xffffffff >>> netmask); return new int [] {netip, netip + hostscope};} public static string [] getipaddrscope (string ipandmask) {int [int [int [int [ ] ipinTarr = ipv4util. ) {int ipint; ipint};} netmaskint = ipv4Util.ipToint (máscara); hostscope};} h (excepción e) {tirar nueva ilegalargumentedException ("Inválido IP Scope Express IP:" + ipaddr + "Mask:" + Mask);}} public static string [] getipStrscope (string ipaddr, string mascar [] ipv4util.getIpIntscope (ip addr, máscara); Lanza la excepción {String ipaddr = "192.168.8.1"; ) {bytestr.append (b);} else {bytestr.append ("," "," " + b);}} system.out.println (" ip: " + ipaddr +" byte-> byte []:: [" + bytestr +"]); );} else {bytestr.append ("," + b);}} system.out .println ("ip:" + ipaddr + "byreg-> byte []: [" + bytestr + "]); sistema. out.println ("byte []:" + bytestr + " -> ip:" + ipv4util.bytestoip (bytearr)); + " ->" + ipint); iPscope = ipv4Util.getIpIntscope (ipandmask) ;; + "-> segmento de dirección IP: [ + ipv4util.inttoip (iPscope [0]) +", " + ipv4util.inttoip (iPscope [1])); string ipaddr1 =" 192.168.1.1 ", ipmask1 =" 255.255.255.0 ""; "," Ipscope1 [1] + "]); system.out.println (ipaddr1 +", " + ipmask1 +" -> segmento de direcciones IP: [" + ipv4util.inttoip (iPsCope1 [0]) +", " + ipv4util.inttoip (iPsCope1 [1]) + "]");}}
Se espera que este artículo sea útil para el diseño del programa Java de todos.