Sockets TCP y UDP
Sockets UDP
Clases para los sockets UDP
DatagramSocket
Esta clase representa un socket para enviar y recibir paquetes datagrama.
DatagramPacket
*Esta clase representa un paquete datagrama. *Usados para implementar el servicio de entrega de paquetes sin conexión. *Cada mensaje es enrutado desde una máquina a otra con base en la información contenida dentro del paquete, únicamente.
Transferencia de datos no fiable entre los dos procesos
No ofrece: conexión, fiabilidad, control de flujo,control de congestión, límite al retardo ni anchode banda garantizado
Aplicaciones que usan UDP:‣ Streaming, teleconferencia,DNS, telefonía por Internet
UDP - User DatagramProtocol [RFC 768]: > Sin conexión > No fiable > Sin control de flujo > Sin control de congestión
Sockets TCP
Clases para los sockets TCP
ServerSocket
Esta clase implementa sockets del servidor. Un socket del servidor espera a que una solicitud provenga de la red; lleva a cabo determinadas operaciones basadas en la solicitud recibida; y entonces, posiblemente, retorna un resultado al solicitante.
Socket
Esta clase implementa sockets del cliente Un socket es uno de los extremos en la comunicación entre dos máquinas.
El protocolo TCP es un protocolo de la capa de transporte que es orientado a conexión, esto significa que antes de intercambiar los datos reales hay un paso previo para establecer una comunicación.
Características
no ofrece: límite al retardo, mínimo ancho de banda garantizado
Los hosts emplean Internetpara comunicarse
Los elementos de la redforman una “caja negra” paralas aplicaciones
La red ofrece dos serviciosde comunicaciones: > Fiable orientado a conexión > No fiable sin conexión
La principal diferencia entre ambos es que el UDP necesita que le entreguemos paquetes de datos que el usuario debe construir, mientras el TCP admite bloques de datos que serán empaquetados de forma transparente antes de ser transmitidos.
Un MulticastSocket es un DatagramSocket (UDP), con capacidades adicionales para unirse a "grupos" de otros hosts de multidifusión en Internet.
IP_MULTICAST_IF. Generalmente, el administrador del sistema especifica el interfaz por el que se envían, por defecto, los datagramas multicast.
struct in_addr interface_addr; setsockopt (socket,IPPROTO_IP, IP_MULTICAST_IF, &interface_addr,sizeof(interface_addr));
IP_MULTICAST_TTL. datagramas multicast se envían con un valor por defecto de 1, para impedir que sean reenviados más allá de la red local. y escribirla en algún lugar de su programa:
u_char ttl; setsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(ttl));