INETADDRESS CLASSE
A classe InetAddress é usada para encapsular o endereço IP digital e o nome de domínio do endereço que discutimos anteriormente.
Você interage com esta classe através de um nome de host IP, que é mais fácil e mais fácil de entender do que seu endereço IP.
O número do endereço está oculto dentro da classe Inetaddress.
Método da fábrica na classe Inetaddress
A classe Inetaddress não possui um construtor óbvio. Para gerar um objeto InetAddress, um método de fábrica disponível deve ser usado.
Um método de fábrica é apenas uma convenção para um método estático em uma classe para retornar uma instância dessa classe.
Para o InetAddress, três métodos: getLocAlHost (), getByName () e getallbyName () podem ser usados para criar uma instância de inetAddress.
getLocAlHost () retorna apenas o objeto Inetaddress que simboliza o host local.
O endereço local também é localhost, 127.0.0.1, e esses três endereços são os mesmos.
O método getByName () retorna um inetaddress passou para o nome do host.
Se esses métodos não puderem resolver os nomes do host, eles aumentam uma exceção do UnknownHostException.
Na Internet, é comum usar um nome para representar várias máquinas.
O método getAllByName () Factory retorna uma matriz da classe Inetaddresses, representando todos os endereços decompostos por um nome especial.
Quando o nome não puder ser decomposto em pelo menos um endereço, ele aumentará uma exceção do UnknownHostException.
Exemplo de programa
Inetaddresstest01
pacote com.example.network; importar java.net.inetaddress; classe pública INETADDRESTTEST01 {public static void main (string [] args) lança exceção {inetaddress de endereço = inetaddress.getLocalhost (); /Saída: Nome da máquina/endereço IP // Por exemplo, Nome de usuário-PC/10.4.16.131 // Obtenha o endereço IP através do endereço de nome do domínio = INETAddress.getByName ("www.sohu.com"); (endereço); Use a classe INETAddress para determinar endereços IP especiais
Os endereços IP são divididos em endereços comuns e endereços especiais. A maioria dos artigos anteriores são endereços IP comuns.
1. Método isanilocaladdress
Retorne verdadeiro quando o endereço IP é um endereço curinga, caso contrário, retorna falsa. O uso de endereços curinga permite que as conexões do cliente de qualquer interface de rede sejam aceitas no host do servidor. O endereço curinga do IPv4 é 0.0.0.0. ::.
2. Método IsloopbackAddress
Retorne true quando o endereço IP é o endereço de loopback, caso contrário, retorne False.Loopback Endereço representa o endereço IP da máquina. O intervalo do endereço de loopback do IPv4 é 127.0.0.0 ~ 127.255.255.255.255. Por exemplo, 127.1.2.3 e 127.0.200.200 são endereços de loopback. O endereço de loopback do IPv6 é 0: 0: 0: 0: 0: 0: 0: 0: 1, ou pode ser abreviado como :: 1. Conforme mostrado na seguinte linha de comando:
Ping 127.200.200.200
Resultados em execução:
Resposta de 127.0.0.1: bytes = 32 Tempo <1ms ttl = 128 (Nota: 127.200.200.200 Sob Win7) Responder de 127.0.0.1: bytes = 32 tempo <1ms ttl = 128 repryply de 127.0.0.1: bytes = 32 TTL = 128 REPLEMENTE DE 127.0.0.1: BYTES = 32 TIME <1MS TTL = 128 Estatísticas para 127.200.200.200: Pacotes: enviados = 4, recebido = 4, perdido = 0 (perda de 0%), aproxima-os tempos de viagem de ida e volta em um milhão- segundos: mínimo = 0ms, máximo = 0ms, média = 0ms
Embora 127.255.255.255 também seja um endereço de loopback, 127.255.255.255 não pode ser pingado no Windows. Isso ocorre porque 127.255.255.255 é um endereço de transmissão.
Iii
Retorne true quando o endereço IP é o endereço de conexão local (LinkLocalAddress), caso contrário, o intervalo do endereço de conexão local do IPv4 é 169.254.0.0 ~ 169.254.255.255. Os bits podem ser o valor arbitrário, como Fe88: e Fe80 :: ABCD :: Todos os endereços de conexão local são.
Iv
Retorne verdadeiro quando o endereço IP for o endereço local da região (sitelocaladdress), caso contrário, o endereço do endereço que retorna false.ipv4 é dividido em três segmentos: 10.0.0.0 ~ 10.255.255.255, 172.16.0.0 ~ 172.31.255.255, 192.168.0.0 ~ 192 .168.
5. Método IsmulticasTaddress
Retorne true quando o endereço IP é um endereço de transmissão (multicastaddress); caso contrário, ele retorna falsa. O intervalo do endereço de transmissão do IPv4 é 224.0.0 ~ 239.255.255.255.255.255. Detalhes sobre endereços de transmissão serão discutidos em futuros capítulos.
6. Método ismcglobal
Retorne verdadeiro quando o endereço IP for um endereço de transmissão global, caso contrário, retorna falsa. O endereço de transmissão do IPv4 é um endereço de transmissão global, exceto o endereço IP 224.0.0.0 e o primeiro byte é 239. O primeiro byte no endereço de transmissão global do IPv6 é FF, o segundo byte é 0e ~ fe Fe e os outros bytes podem ser qualquer valor, como o FFBE :: e FF0E :: são todos o endereço de transmissão global.
7. Método ismclinklocal
Retorne true quando o endereço IP é o endereço de transmissão da sub -rede, caso contrário, retorna falsa. O intervalo do endereço de transmissão da sub -rede do IPv4 é 224.0.0.0 ~ 224.0.0.255. :: e FF02: ABCD :: Todos os endereços de transmissão de sub -rede.
8. Método ISMCNODelocal
Retorne true quando o endereço IP é o endereço de transmissão da interface local, caso contrário, retorna falsa. Todos os endereços de transmissão IPv4 não são endereços de transmissão de interface local. O primeiro byte do endereço de transmissão da interface local do IPv6 é FF, o intervalo do segundo byte é 01 ~ F1 e os outros bytes podem ser qualquer valor, como o FFB1 :: e o FF01: A123 :: todas as interfaces locais. Endereço de transmissão.
9. Método Ismcorglocal
Retorna Ture quando o endereço IP é um endereço de transmissão em toda a organização, caso contrário, retorna falsa. O primeiro byte do endereço de transmissão em toda a organização do IPv4 é 239, o segundo byte não é inferior a 192 e o terceiro byte não é superior a 195. Por exemplo, 239.193.100.200 e 239.192.195.0 são todos transmitidos em toda a organização endereços. O primeiro byte do endereço de transmissão em toda a organização do IPv6 é FF, o intervalo do segundo byte é 08 ~ f8 e os outros bytes podem ser qualquer valor, como FF08 :: e FF48 :: todas as transmissões em toda a organização são . endereço.
10. Método ISMCSITELOCAL
Retorne true quando o endereço IP for um endereço de transmissão em todo o site, caso contrário, usando o endereço de transmissão em todo o site, as informações de transmissão podem ser enviadas para computadores em todo o site. O intervalo do endereço de transmissão em todo o IPv4 é 239.255.0.0 ~ 239.255.255.255.255. O primeiro byte do endereço de transmissão em todo o site IPv6 é FF, o intervalo do segundo byte é 05 ~ f5 e os outros bytes podem ser qualquer valor, como FF05 :: e FF45 :: são todas as transmissões em todo o local. endereço.
O código a seguir pode determinar se um endereço IP está dentro do intervalo dos dez tipos de endereço acima:
teste de pacote; importar java.net = InetAddress.getbyName (args [0]); Matches ("Is.*") && Method.getParameterTypes (). Length == 0) {if (boolean.parseboolean (method.invoke (endereço) .tostring ())) System.out.println (Method.g etname ( ) + "= true"); Teste 1
Execute o seguinte comando:
Java Test.Mynet 224.0.0.1
Resultados em execução:
ismclinklocal = trueismulticastaddress = true
Teste 2
Execute o seguinte comando:
Java test.mynet ffb1 ::
Resultados em execução:
ismcnodelocal = true ismulticastaddress = true