L'exemple de cet article indique la méthode d'IP et d'entier en Java. Partagez-le pour tout le monde pour votre référence. L'analyse spécifique est la suivante:
1. Points de connaissance de base
Ip-> entier:
Convertir l'adresse IP en tableau d'octets via le changement de gauche (<<), (&), ou (|) ces opérations à int à int à int à int
Entier-> ip:
Fonctionnement du changement de droite (>>>), passez la droite à 24 bits, puis effectuez l'opérateur (&) 0xff.
Fonctionnement de la droite (>>>), Shift 16 bits à droite, puis effectuez l'opérateur (&) 0xff.
Fonctionnement de la droite (>>>), passez à droite de 8 bits, puis effectuez l'opérateur (&) 0xff.
La valeur entière est effectuée avec l'opérateur (&) 0xFF, et le nombre obtenu est l'IP de quatrième étape.
Deuxièmement, exemple de code java (ipv4util.java)
Package Michael.utils; } Catch (exception e) {throw negalargumentException (iPaddr + "est invalide ip"); . "); Ret [0] = (byte) (Integer.Parseint (iparr [0]); ret [1] = (byte) (entier. ParseInt (iparr [1]) & 0xff; ret [2] = ( BYTE) (Integer.Parseint (iparr [2]); ret [3] = (byte) (iparr [3]) & 0xff); ip "); te [] bytes) {return new StringBuffer (). APPEND (Bytes [0] & 0xff) .Apnd ('. APPEND (BYTES [2] & 0xFF) .Appnd ('.'). Addr | ; ATIC BYTE [] INTBYTES (int ipInt) {Byte [] iPaddr = new Byte [inaddrsz]; (ipint >>> 16) & 0xff); Static String intToip (int ipInt) {return newbuilder () .append (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((ipint >> 24) et 0xff). .Appnd ((ipint >> 16) & 0xff) .Appnd ('.'). '). String [] iparr = ipandmask.split ("/"); si R.Length! Trim ()); if (netma sk <0 || netmask> 31) {lancez new illégalArgumentException ("invalid ipandmask avec:" + ipandmask);} int ipint = ipv4Util.Iptoint (iparr [0]); & (0xfffffffffff <(3 3 2 -netmask); int hostcope = (0xffffffff >>> netMask); return new int [] {netip, netip + hostScope};} public static static [] getIpaddrScope (string ipandmask) {int [ ] ipIntarr = ipv4util. ) {int ipint; ipint};} netmaskint = ipv4util.Iptoint (mask); hostScope};} h (Exception e) {Throw New illégalArgumentEdException ("Invalid IP Scope Express IP:" + iPaddr + "Mask:" + mask);}} public static string [] getIPSTCOPE (String iPaddr, String mask) {int [] ipv4util.getIpIntScope (ip addr, mask); Lance l'exception {String iPaddr = "192.168.8.1"; ) {byTestr.APPEND (b);} else {ByTestr.Apend ("," "," "+ b);}} System.out.println (" IP: "+ iPaddr +" Byte-> Byte []: ["+ byTestr +"]); . out.println ("Byte []:" + byTestr + "-> ip:" + ipv4util.bytestoip (bytearr)); + "->" + ipint); ipscope = ipv4util.getIpIntScope (ipandmask) ;; + "-> Segment d'adresses 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 +" -> segment d'adresses IP: ["+ ipv4util.inttoip (ipscope1 [0]) +", "+ ipv4util.inttoip (ipscope1 [1]) + "]" ");}}
On espère que cet article est utile à la conception du programme Java de tous.