programa o distribu da em java n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Programação Distribuída em Java PowerPoint Presentation
Download Presentation
Programação Distribuída em Java

Loading in 2 Seconds...

play fullscreen
1 / 20

Programação Distribuída em Java - PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on

Programação Distribuída em Java. Aula 03. Na aula passada vimos:. I/O Sockets. Na aula de hoje veremos:. Domain Name Server O pacote java.net A classe InetAddress A classe Url A classe UrlConnection. Domain Name Server (DNS).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Programação Distribuída em Java' - shelley


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
na aula de hoje veremos
Na aula de hoje veremos:
  • Domain Name Server
  • O pacote java.net
  • A classe InetAddress
  • A classe Url
  • A classe UrlConnection
domain name server dns
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
domain name server dns1
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.htm
package java net
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
java net inetaddress
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)

Ex.: USP.java

java net inetaddress1
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
inicializando inetaddress
Inicializando InetAddress
  • public static InetAddress InetAddres.getByName(String host)

trows UnknownHostException

  • public static InetAddress InetAddres.getAllByName(String host)

trows UnknownHostException

Ex.: Microsoft.java

inicializando inetaddress1
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

Ex.: UspByAddress.java

acessando campos de inetaddress
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

Ex.: MyAddress.java

java net url
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
inicializando java net url
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

Ex.: ProtocolTester.java

construtores de url
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

recuperando dados de um url
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.

Ex.: SourceViewer.java

recuperando dados de um url1
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);

try {

URLConnection uc = u.openConnection();

Inputstream in = uc.getInputStream();

// note que poderíamos aqui acessar o OutputStream de uc

recuperando dados de um url2
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.

Ex.: ContentGetter.java

java net urlconnection
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
o que voc precisa saber
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