</> CodeBooks
    ← Volver a Redes (página 2)
    Portada de Java Network Programming, 4th Edition

    Java Network Programming, 4th Edition

    Elliotte Rusty Harold

    Editorial
    O'Reilly
    Año
    2013
    Páginas
    ~506
    Nivel
    Básico

    De qué trata

    Tratado técnico y referente clásico sobre programación de comunicaciones en red en el ecosistema Java (adaptado para Java 7 y principios de Java 8 en su 4.ª edición). Escrito por Elliotte Rusty Harold, está dirigido a programadores Java de nivel básico a intermedio que posean soltura con la sintaxis del lenguaje, la programación orientada a objetos y las colecciones estándar, y deseen aprender a desarrollar aplicaciones interconectadas comprendiendo en detalle los protocolos y las capas de red subyacentes.

    La obra cimenta las bases teóricas de la arquitectura de Internet y el flujo de datos mediante la API de I/O de Java (InputStream, OutputStream, streams de filtrado y buffers), junto con los conceptos esenciales de multihilo y concurrencia (Thread, Runnable, pools y ExecutorService). A continuación, enseña a resolver direcciones y nombres de host con InetAddress, y a gestionar recursos en la web mediante las clases URI, URL y URLConnection, prestando especial atención a las particularidades del protocolo HTTP (métodos, cookies, cabeceras y servicios REST). El núcleo del texto examina la programación de sockets cliente y servidor TCP (Socket y ServerSocket), conexiones seguras con SSL/TLS (JSSE), operaciones no bloqueantes de alto rendimiento mediante Java NIO (ByteBuffer, Channels y Selectors), paquetes UDP (DatagramPacket y DatagramSocket) y comunicación por multidifusión con MulticastSocket.

    El aprendizaje se articula a través del desarrollo de programas reales de red: herramientas de sondeo, clientes de descarga y rastreo web, servidores de eco concurrentes y un servidor web HTTP completo capaz de despachar archivos y redirecciones. No incluye problemas ni ejercicios teóricos de autoevaluación al final de los capítulos, pero destaca por la solidez y el rigor de su código fuente frente a casos de latencia y saturación. Constituye una base imprescindible para comprender la fontanería de red de la JVM antes de adoptar frameworks de alto nivel como Netty o Spring Boot.

    • Java SE
    • Sockets TCP (Socket y ServerSocket)
    • Java NIO (Channels y Selectors)
    • Datagramas UDP
    • Multicast (MulticastSocket)
    • HTTP y URLConnection
    • SSL / TLS (JSSE)
    • InetAddress
    • Concurrencia (ExecutorService)
    • I/O Streams

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Servidor web HTTP multihilo

    Servidor HTTP desarrollado con ServerSocket y pools de hilos concurrentes, capaz de servir archivos estáticos, responder con cabeceras MIME y gestionar redirecciones.

    Servidor y cliente no bloqueante con Java NIO

    Implementación de alta concurrencia que multiplexa múltiples canales de conexión sobre un único hilo utilizando selectores, búferes y canales no bloqueantes.

    Rastreador y descargador de recursos web

    Herramienta cliente desarrollada con URL y URLConnection que analiza y descarga contenidos de Internet, procesando cabeceras de respuesta y cookies.

    Más de Redes con nivel Básico