
Learning Network Programming with Java
Richard M. Reese
- Editorial
- Packt
- Año
- 2016
- Páginas
- ~233
- Nivel
- Básico
De qué trata
Manual introductorio y didáctico centrado en el desarrollo de aplicaciones distribuidas y de red utilizando Java (Java 8). La obra de Richard M. Reese está orientada a desarrolladores con un nivel básico o intermedio en Java que conocen la programación orientada a objetos pero nunca han trabajado con programación de red, ofreciendo un itinerario progresivo y accesible para conectar aplicaciones entre sí de forma eficiente y segura.
El temario aborda el direccionamiento de red y la inspección de interfaces mediante las clases InetAddress y NetworkInterface, seguido de la comunicación básica cliente-servidor a través de sockets TCP y la gestión de protocolos de datagramas con UDP y multidifusión (multicast). Introduce el uso de la API de Java NIO mediante búferes (ByteBuffer), canales (SocketChannel) y selectores para mejorar el rendimiento frente a múltiples clientes simultáneos. Además, explora los fundamentos de las arquitecturas entre pares (Peer-to-Peer o P2P), técnicas de concurrencia y gestión de pools de hilos para garantizar la escalabilidad, el aseguramiento de conexiones con SSL/TLS y las pautas para resolver problemas de interoperabilidad en entornos operativos heterogéneos.
El autor guía al lector a través de ejemplos de código directos y la construcción progresiva de pequeñas aplicaciones funcionales, tales como sistemas de chat cliente-servidor, emisores y receptores de multidifusión y un nodo básico para redes peer-to-peer. No incorpora cuestionarios ni ejercicios formales de autoevaluación, destacando en cambio por su estilo directo, conciso y orientado a la práctica rápida sin exceso de carga teórica. Es un recurso idóneo para adquirir soltura inicial en comunicaciones de red con Java antes de afrontar arquitecturas distribuidas de mayor envergadura.
- Java 8
- Sockets TCP
- UDP y Multicasting
- Java NIO
- Arquitectura Cliente/Servidor
- Redes Peer-to-Peer (P2P)
- Hilos y Escalabilidad
- SSL / TLS
- NetworkInterface
- Interoperabilidad
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Sistema de chat cliente-servidor multihilo
Aplicación de mensajería bidireccional basada en sockets TCP y pools de hilos en Java para permitir la conversación concurrente entre múltiples clientes conectados a un servidor central.
Transmisor y receptor de multidifusión (UDP Multicast)
Programa que utiliza datagramas UDP y grupos de multidifusión para transmitir información de manera simultánea y eficiente a múltiples nodos de la red local.
Nodo de comunicación Peer-to-Peer (P2P)
Prototipo de aplicación distribuida donde cada nodo implementa funciones tanto de cliente como de servidor para el intercambio directo de información entre pares.

