Sockets TCP y UDP
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_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));
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));
Sockets TCP
Características
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
no ofrece: límite al retardo, mínimo ancho de banda garantizado
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.
Esta clase implementa sockets del cliente Un socket es uno de los extremos en la comunicación entre dos máquinas.
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.
Sockets UDP
UDP - User DatagramProtocol [RFC 768]: > Sin conexión > No fiable > Sin control de flujo > Sin control de congestión
Aplicaciones que usan UDP:‣ Streaming, teleconferencia,DNS, telefonía por Internet
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
Clases para los sockets UDP
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.
DatagramSocket
Esta clase representa un socket para enviar y recibir paquetes datagrama.