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.

Clases para los sockets TCP

Socket

^

Esta clase implementa sockets del cliente Un socket es uno de los extremos en la comunicación entre dos máquinas.

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.

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.