Programacion en red. Curso 04/05

LP (Telem´atica) Universitat de Val`encia

Tema 7 Programacion en red. Departament d’Inform`atica. Universitat de Val`encia

´Indice 1. Direcciones IP

1

2. UDP

3

2.1. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. TCP

4. HTTP

7

7

10

4.1. La clase URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2. La clase URLConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3. La clase HttpURLConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Vamos a ver algunas de las clases que proporciona Java para realizar programas en los que la informaci´ on se transmita a trav´es de una red. Veremos 4 grupos de clases:

[email protected]

P´ agina: 1

Programacion en red. Curso 04/05

LP (Telem´atica) Universitat de Val`encia

Las que sirven para representar una direcci´on IP. Clases que sirven para enviar informaci´on utilizando el protocolo UDP (User Datagram Protocol) Clases que sirven para enviar informaci´on utilizando el protocolo TCP (Transmission Control Protocol) Clases que sirven para trabajar con el protocolo HTTP (HyperText Transfer Protocol)

1.

Direcciones IP Una direcci´on IP es un n´ umero sin signo de 32 bits (IPv4) o de 128 bits (IPv6). Una instancia de la clase InetAddress sirve para representar una direcci´on IP. Algunos de los m´etodos que define esta clase son:

p u b l i c s t a t i c I n e t A d d r e s s getByName ( S t r i n g h o s t ) t h r o w s UnknownHostException

Devuelve un objeto del tipo InetAddress a partir del nombre.

p u b l i c byte [ ] getAddress ( )

Devuelve la direcci´ on IP en un vector de byte.

p u b l i c s t a t i c I n e t A d d r e s s [ ] getAllByName ( S t r i n g h o s t ) t h r o w s UnknownHostException

Dado un nombre de servidor, devuelve un vector con todas sus direcciones IP. El nombre puede ser un nombre de m´ aquina, como por ejemplo sweb.uv.e o una representaci´on textual de su direcci´ on IP como por ejemplo 147.156.16.46

p u b l i c s t a t i c InetAddress getLocalHost ()

Devuelve la direcci´ on de la m´ aquina local.

El siguiente c´odigo muestra un ejemplo de aplicaci´on de esta clase:

[email protected]

P´ agina: 2

Programacion en red. Curso 04/05

LP (Telem´atica) Universitat de Val`encia

import java . net . ∗ ; public c la ss DireccionesIP { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { byte [ ] b ; try { // S i s e pasa un argumento obtenemos l a d i r e c c i o n IP i f ( a r g s . l e n g t h >0){ String host = args [ 0 ] ; I n e t A d d r e s s [ ] d i r e c c i o n e s = I n e t A d d r e s s . getAllByName ( h o s t ) ; f o r ( i n t i =0; i