TAREA1
Sockets UDP bajo Java
Redes-Sockets
1
Sockets UDP
No se establece una conexión previa al
envío/recepción de datos.
Los
datos
se
envían
en
bloques
(datagramas).
Losdatagramas son objetos de la clase
DatagramPacket. Cada datagrama contiene la
dirección de destino y el puerto.
Los datagramas pueden no llegar en el
mismo orden en que se enviaron.
Permiten difusiones(broadcast y multicast).
Redes-Sockets
2
Sockets UDP en Java
Para enviar o recibir datagramas
(DatagramPacket) se utilizan objetos
DatagramSocket o MulticastSocket.
Se diferencian por eltipo de canal:
DatagramSocket
dedicado
MulticastSocket
Punto a punto no
Multipunto
Redes-Sockets
3
Sockets UDP punto a punto
Dos clases:
DatagramSocket: para enviar o recibirdatagramas)
DatagramPacket: paquete de datos o
datagrama
DatagramPacket
DatagramSocket
DatagramSocket
EMISOR
RECEPTOR
Redes-Sockets
4
DatagramPacket
Paquete de datos (datagrama) atransmitir o recibir a través de un
socket UDP (objeto DatagramSocket).
Un datagrama consta de:
Una cabecera: dirección de origen y
destino del paquete, el puerto, la longitud
del paquete, unchecksum, etc.
Cuerpo: datos del paquete.
Redes-Sockets
5
DatagramPacket: constructor
Para recibir datos:
DatagramPacket (byte[] buffer, int n)
Para enviar datos:
DatagramPacket(byte[]buffer, int n, InetAddress dest,
int puerto)
buffer: array que almacenará los datos a enviar o recibir
n: tamaño máximo del datagrama a enviar o recibir
dest: es la dirección de la máquina destinatariadel datagrama
puerto: puerto en el que atiende las peticiones el servidor
Redes-Sockets
6
DatagramPacket: metodos(1)
InetAddress getAddress()
Devuelve la
dirección almacenada en elpaquete
int getPort()
Devuelve el puerto
almacenado en el paquete
byte[] getData()
Devuelve los datos
almacenados en el paquete
int getLength()
Devuelve el tamaño de
los datos almacenados en el...
Regístrate para leer el documento completo.