Java
JAVA.NET Y JAVA.NIO
CÓMO HACER UN CHAT EN JAVA (J2SE 1.2-1.3
y J2SE 1.4-5.0): FUNDAMENTOS, DESARROLLO
E IMPLEMENTACIÓN.
Versión 2.0
Miguel Ángel Abián
Introducción rápida a java.net y java.nio. Cómo hacer un chat en java.
ÍNDICE
1. Introducción
2. Fundamentos de redes
3. El paquete java.net de Java
3.1 Introducción
3.2 La clase java.net.ServerSocket
3.3La clase java.net.Socket
3.4 Un ejemplo de aplicación cliente-servidor con java.net
4. Un chat por consola
5. Un chat con interfaz gráfica
6. NIO: una nueva API de entrada y salida para Java
6.1 Introducción
6.2 La clase java.nio.Buffer
6.3 Los canales y la clase
java.nio.channels.ServerSocketChannel
6.4 La clase java.nio.channels.SocketChannel
6.5 Las clases java.nio.channels.Selectory
java.nio.channels.SelectionKey
6.6 La programación cliente-servidor con NIO
7. Un chat con Java: actualización a J2SE 1.4 y 5.0
© Miguel Ángel Abián, 2002-04
Página 2 de 114
Página 3
Página 13
Página 31
Página 31
Página 33
Página 39
Página 45
Página 50
Página 74
Página 82
Página 82
Página 84
Página 89
Página 94
Página 95
Página 100
Página 104http://www.javahispano.org
INTRODUCCIÓN RÁPIDA A java.net Y java.nio
CÓMO HACER UN CHAT EN JAVA (J2SE 1.2-1.3 y J2SE
1.4-5.0): FUNDAMENTOS, DESARROLLO E
IMPLEMENTACIÓN
Fecha de creación: 20.09.2002
Revisión 2.0 (29.11.2004)
Miguel Ángel Abián
mabian ARROBA aidima PUNTO es
Copyright (c) 2002, 2003, 2004, Miguel Ángel Abián. Este documento puede ser distribuido
sólo bajo los términos y condiciones de lalicencia de Documentación de javaHispano v1.0 o
posterior (la última versión se encuentra en http://www.javahispano.org/licencias/).
No cabe duda de que la única razón por la que Java es popular es porque está
diseñado y pensado para desarrollar programas que se ejecutan en el navegador.
A. Nicolau. A survey of distributed languages (1996)
No se puede conducir un automóvil mirando elretrovisor.
Mire hacia atrás con ira. No hay nada bueno que mirar.
M. McLuhan (1970)
Estoy ya de muerte y llamo a mis amigos. Y dicen: Bueno va a vivir cinco horas.
Y con plena conciencia de mí mismo llamo a un sacerdote... Confieso todo en voz
alta. Llamo a mis amigos ateos: comunistas y tal. Están allí presentes.
–Me acuso de tal, creo en ti, Dios mío, tomen ejemplo de mi muerte. Ustedes hancompartido conmigo creencias nefastas. Miren cómo muero.
Y muero y voy al infierno, porque es todo una broma que les hago a mis amigos.
Luis Buñuel Portolés (1980)
1. INTRODUCCIÓN
El propósito de este trabajo de divulgación es ofrecer al lector o la lectora una
introducción rápida a los paquetes java.net y java.nio, que forman parte de la J2SE (Java
2 Standard Edition). Mediante unaaplicación de charla electrónica (chat) se ilustrarán los
conceptos básicos de redes y las clases más relevantes de estos paquetes.
El paquete java.net, incluido en la J2SE desde las primeras versiones de Java, ofrece
al programador un conjunto de clases e interfaces para establecer comunicaciones y
trabajar con los recursos de red. La simplificada interfaz de objetos de este paquete para laprogramación en red facilita mucho el trabajo de los desarrolladores. Lenguajes como C o
C++ son muy eficaces para trabajar en red, pero el código necesario resulta bastante más
complicado y susceptible de errores que el equivalente en Java.
El paquete java.nio apareció por primera vez en la J2SE 1.4 (conocida antes como
Merlin). En la versión 5.0 de la J2SE (conocida en sus primeras betas como 1.5 ycomo
Tiger), se ha mantenido este paquete sin apenas modificaciones con respecto a la 1.4.
java.nio introduce una nueva API (interfaz de programación de aplicaciones) de entrada y
salida (E/S), conocida como NIO (New Input/Output). NIO se orienta hacia la transmisión
© Miguel Ángel Abián, 2002-04
Página 3 de 114
Introducción rápida a java.net y java.nio. Cómo hacer un chat en java....
Regístrate para leer el documento completo.