A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Distribuída em Java Aula 03. 2 Na aula passada vimos: I/O Sockets.

Apresentações semelhantes


Apresentação em tema: "Programação Distribuída em Java Aula 03. 2 Na aula passada vimos: I/O Sockets."— Transcrição da apresentação:

1 Programação Distribuída em Java Aula 03

2 2 Na aula passada vimos: I/O Sockets

3 3 Na aula de hoje veremos: Domain Name Server O pacote java.net A classe InetAddress A classe Url A classe UrlConnection

4 4 Domain Name Server (DNS) O ser humano consegue memorizar seqüências de até sete números DNS associa endereços IP a hostname’s para simplificar a memorização do ser humano Note que um endereço é diferente de um nome de host –As pessoas chamam hostname’s de endereço... Nesse curso será feita uma clara (e necessária) distinção

5 5 Domain Name Server (DNS) Um nome pode mapear vários endereços Todo computador conectado a Internet deve ter acesso a um DNS –Veja: http://neosite.ilogic.com.br/artigos/o_que_e_ip_e_dns.htmhttp://neosite.ilogic.com.br/artigos/o_que_e_ip_e_dns.htm

6 6 Domain Name Server (DNS) world Fapesp (*.br) otheranother dns uolaolbol dns solmolrol

7 7 Package java.net Fornece as classes para a implementação de aplicações em rede Possui 28 classes, 6 interfaces e 11 exceções Serão estudadas apenas as classes principais

8 Ex.: USP.java8 java.net.InetAddress Representa um endereço IP Pode ter 32 ou 128 bits –Veja as subclasses: Inet4Address e Inet6Address Endereços da forma: ddd.ddd.ddd.ddd –Usando o padrão atual: IPv4 –Quadra pontuada (dotted quad)

9 9 java.net.InetAddress É usada pela maioria das classes Java que fazem conexão de rede Possui apenas dois campos privados: –String hostName –int address Não há construtores públicos

10 Ex.: Microsoft.java10 Inicializando InetAddress public static InetAddress InetAddres.getByName(String host) trows UnknownHostException public static InetAddress InetAddres.getAllByName(String host) trows UnknownHostException

11 Ex.: UspByAddress.java11 Inicializando InetAddress public static InetAddress InetAddres.getLocalHost (String host) trows UnknownHostException String host pode ser: “208.125.15.47” e não apenas um hostname Note que os três métodos estáticos realmente fazem uma conexão de rede com o DNS para obter informações

12 Ex.: MyAddress.java12 Acessando campos de InetAddress Normalmente não queremos imprimir o “próprio” objeto InetAddress, usamos: –public String getHostName() –public String getHostAddress() –public byte[] getAddress() O último getter pode ser usado para determinar o tipo (classe) de endereço

13 13 java.net.URL Classe que encapsula as características de um Uniform Resource Locator (url) Um url se caracteriza pelos campos: –Protocolo –Nome do host –Porta –Caminho –Consulta –Referência (ou âncora) Um URL é imutável

14 Ex.: ProtocolTester.java14 Inicializando java.net.URL Diferente de InetAddress, é possível se construir um objeto URL O programador é responsável por garantir que o URL criado é válido Os protocolos utilizados pelo URL dependem da implementação

15 15 Construtores de URL A partir de uma String URL u = new URL(“http://www.ime.usp.br/index.html”); A partir dos componentes URL u = new URL(“http”, ”www.ime.usp.br”, “80”, “/index.html”); Note a barra que antecede o nome do arquivo... É um erro comum esquecê-la

16 Ex.: SourceViewer.java16 Recuperando dados de um URL public final InputStream openStream() Conecta-se ao recurso referenciado pelo URL Realiza algum acordo entre cliente e servidor Retorna um InputStream a partir do qual os dados podem ser lidos.

17 17 Recuperando dados de um URL public URLConnection openConnection() Abre um Socket para um URL específico Retorna um URLConnection que dá acesso a tudo o que for enviado pelo servidor, e.g. header’s Permite também o envio de dados ao URL try { URL u = new URL(http://www.fapesp.br);http://www.fapesp.br try { URLConnection uc = u.openConnection(); Inputstream in = uc.getInputStream(); // note que poderíamos aqui acessar o OutputStream de uc

18 Ex.: ContentGetter.java18 Recuperando dados de um URL public final Object getContent() Conecta-se ao recurso referenciado pelo URL Tenta converter ser conteúdo para algum objeto Java. Existe uma versão sobrecarregada desse método na qual é possível verificar se a classe do objeto recebido é a esperada dentre uma lista fornecida pelo usuário.

19 19 java.net.URLConnection Representa uma conexão ativa a um recurso especificado por um URL Fornece maior controle sobre a interação com o servidor Permite a inspeção dos cabeçalhos MIME enviados por servidores HTTP Um Socket pode fazer a maioria das coisas que um URLConnection faz

20 20 O que você precisa saber: Distinguir endereço de hostname; ter noções de DNS Quando usar InetAddress e quando usar URL Recuperar dados de um URL; enviar solicitações a cgi e servlet


Carregar ppt "Programação Distribuída em Java Aula 03. 2 Na aula passada vimos: I/O Sockets."

Apresentações semelhantes


Anúncios Google