O exemplo deste artigo informa o método de IP e número inteiro em Java. Compartilhe para todos para sua referência. A análise específica é a seguinte:
1. Pontos básicos de conhecimento
IP-> Inteiro:
Converta o endereço IP em matriz de bytes através do turno esquerdo (<<), (&) ou (|) essas operações para int para int
Inteiro-> IP:
Operação de mudança direita (>>>), mude a direita para 24 bits e execute o operador (&) 0xff.
Operação de mudança direita (>>>), desligue 16 bits à direita e execute o operador (&) 0xFF.
Operação de mudança direita (>>>), mova para a direita de 8 bits e execute o operador (&) 0xff.
O valor inteiro é realizado com o operador (&) 0xff, e o número obtido é o IP do quarto estágio.
Segundo, exemplo de código java (ipv4util.java)
Pacote Michael.utils; } Catch (Exceção e) {LONGE NOVO ILEGALARGUMENTEXCIONE (iPaddr + "é inválido IP"); . "); Ret [0] = (byte) (Integer.parseint (iParr [0]); ret [1] = (byte) (número inteiro. Parseint (iParr [1]) e 0xff; ret [2] = ( byte) (Integer.parseint (iparr [2]); ret [3] = (byte) (iparr [3]) e 0xff); ip "); te [] bytes) {return new StringBuffer (). Append (bytes [0] & 0xff) .append ('.'). Append (bytes [1] e 0xff) .Appnd ('.'). Appender (bytes [2] e 0xff) .Appnd ('.'). Addr | Retorno addr;} public static int ipaddr (string ipaddr) {tente {tente {testr). ATIC BYTE [] INTBYTES (INT IPINT) {BYTE [] ipaddr = novo byte [inaddrsz]; (IPINT >>> 16) e 0xFF); String estática Inttoip (int iPint) {return newBuilder () .append ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((" .Appnd (Ipint >> 16) e 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 [ ] ipintarr = ipv4util. ) {int iPint; Ipint};} Netmaskint = IPv4util.iptint (máscara); hostscope};} h (Exceção e) {tire nova ilegalArgumentEdException ("escopo IP inválido Express IP:" + ipaddr + "Mask:" + Mask);}} public static string [] getipstscope (string ipaddr, string máscara) {int) [] ipv4util.getipintscope (IP addr, máscara); Excepção {String ipaddr = "192.168.8.1"; ) {bytest.append (b);} else {bytest.append ("," "," " + b);}} system.out.println (" ip: " + ipaddr +" byte-> byte []: [" + bytest +"]); );} else {bytest.append ("," + b);}} System.out .println ("ip:" + ipaddr + "byreg-> byte []: [" + bytest + "]); out.println ("byte []:" + bytest + " -> ip:" + ipv4util.bytestoip (bytearr)); + " ->" + iPint); iPScope = ipv4util.getipintscope (ipandMask) ;; + "-> segmento de endereço IP: [ + ipv4util.inttoip (ipsScope [0]) +", " + ipv4util.inttoip (iPscope [1])); string ipaddr1 =" 192.168.1.1 ", ipmask1 =" 255.255.255.0 ""; "," IpsScope1 [1] + "]); System.out.println (ipaddr1 +", " + ipMask1 +" -> segmento de endereço IP: [" + ipv4util.inttoip (ipscope1 [0]) +", " + ipv4util.inttoip (ipscope1 [1]) + "]" ");}}
Espera -se que este artigo seja útil para o design do programa Java de todos.