Uma das vantagens da linguagem Java é que os programas Java podem acessar recursos da rede. Java fornece uma série de classes para suportar programas Java no acesso a recursos de rede.
Protocolo TCP/IP e endereço IP
Para comunicar na Internet, ambas as partes comunicantes devem cumprir o protocolo de comunicação. O protocolo mais utilizado actualmente é o protocolo TCP/IP, que é um protocolo público seguido por todas as partes na Internet. ) é um protocolo de controle de transmissão e IP (Protocolo de Internet) é um protocolo de Internet e TCP/IP representa esses dois protocolos.
O TCP/IP é dividido em quatro níveis:
O protocolo TCP trata qualquer transmissão de informações de rede como um fluxo de informações. Por exemplo, se uma mensagem longa for enviada da máquina A para a máquina B, o remetente A precisará fragmentar os dados e o pacote e enviar cada dado separadamente. O pacote de dados possui um cabeçalho que indica para onde o pacote de dados é enviado e a posição dos dados na sequência de recebimento. Cada pacote é transmitido de uma máquina para outra máquina ou de um nó da rede para outro nó da rede de acordo com o destino fornecido pelo endereço IP. Na extremidade receptora B, esses pacotes de dados podem ser remontados na ordem correta.
O protocolo TCP/IP é um conjunto de protocolos que consiste em um conjunto de protocolos, incluindo principalmente os seguintes protocolos mais específicos:
Telnet (login remoto): permite que um usuário de computador faça login em outro computador remoto, realizando operações remotas como se estivesse operando no computador local.
FTP (protocolo de transferência de arquivos): permite aos usuários copiar arquivos de um host remoto para seu próprio computador.
SMTP (simple Mail Transfer Protocol): usado para transferir e-mails.
NFS (servidor de arquivos de rede): permite que vários computadores acessem de forma transparente os diretórios uns dos outros.
HTTP: Um protocolo de transferência de hipertexto, baseado no protocolo TCP/IP e é o protocolo de comunicação da camada de aplicação entre o navegador WWW e o servidor. HTTP é um protocolo de uso geral, sem estado e orientado a objetos. A sessão HTTP (transação) consiste em quatro etapas: Conexão, Solicitação, Resposta e Fechamento.
A linguagem Java pode escrever aplicativos de rede de baixo nível. Por exemplo, transferir arquivos, criar controladores de e-mail, processar dados de rede, etc. Os protocolos de Internet suportados pela linguagem Java incluem ftp, telnet, www, etc. O software que suporta comunicação de rede está no pacote java.net, por exemplo, java.net.ftp, java.net.www, etc.
O endereço IP é usado para indicar o endereço de um computador na Internet na rede, usando um código binário de 32 bits para representar um endereço de rede. Os endereços são divididos em cinco categorias: A, B, C, D e E. As categorias mais comumente usadas são A, B e C:
A (1.0.0.0-126.255.255.255): número de rede de 0,7 dígitos, os últimos 24 dígitos são o número do host;
B (128.0.0.0-191.255.255.255): 10, número de rede de 14 dígitos, os últimos 16 dígitos são o número do host;
C (192.0.0.0-223.255.255.255): 110, número de rede de 21 dígitos, os últimos 8 dígitos são o número do host;
D (224.0.0.0-239.255.255.255): 1110, número de grupo multicast de 28 bits;
E (240.0.0.0-254.255.255.255): 1111, reservado para uso em teste.
Normalmente, um endereço IP é representado por um número decimal de quatro segmentos (um segmento de 8 dígitos). Por exemplo:
58.218.204.252
Ou representado por um nome de domínio de texto. Por exemplo:
www.VeVB.COm
Na Internet, o Servidor de Nomes de Domínio (DNS) realiza o mapeamento de nomes literais para endereços de rede binários.
Classe InetAddress
Há uma definição da classe InetAddress no pacote Java.net Os objetos da classe InetAddress são usados para endereços IP e nomes de domínio.
getByName(String s): Obtenha um objeto da classe InetAddress, que contém o endereço IP e o nome de domínio do host. O objeto representa as informações que contém no seguinte formato: www.sina.com.cn/202.108.37.40;
String getHostName(): obtém o nome de domínio do objeto InetAddress;
String getHostAddress(): obtém o endereço IP do objeto InetAddress;
getLocalHost(): Obtenha um objeto InetAddress, que contém o nome de domínio e o endereço IP da máquina local.
[Exemplo] Um aplicativo que explica o uso da classe Inetaddress. O programa demonstra como obter o nome de domínio e endereço IP de www.weixueyuan.net.
Import java.net.*;Class Example10_1{ Public static void main(String args[]){ Try{ //O código a seguir cria um objeto InetAddress por meio do nome de domínio: InetAddress addr = InetAddress.getByname("www.VeVB.COm "); String domainName = addr.getHostName();//Obter o nome do host String IPName = addr.getHostAddress();//Obter o endereço IP System.out.println(domainName); System.out.println(IPName); }catch(UnknownHostException e){ e.printStackTrace();
O resultado da execução é:
www.VeVB.COm58.218.204.252