Académique Documents
Professionnel Documents
Culture Documents
Todos los datos fluyen a través del ordenador desde una entrada
hacia una salida.
Hay un flujo de entrada (input stream) que manda los datos desde
el exterior (normalmente el teclado) de la computadora.
Hay un flujo de salida (output stream) que dirige los datos hacia
los dispositivos de salida (la pantalla o un archivo).
Las jerarquías de clases
char Unicode, 16 bits byte, 8 bits.
Reader y Writer son las clases bases de la jerarquía para los flujos de caracteres. Para leer o escribir datos binarios tales
como imágenes o sonidos, se emplea otra jerarquía de clases cuyas clases base son InputStream y OutputStream.
DataInputStream
La clase DataInputStream es útil para leer datos del tipo primitivo de una forma portable.
La clase DataInputStream define diversos métodos readXXX que son variaciones del método read de la clase base
para leer datos de tipo primitivo
buffer
Es un espacio de memoria, en el que se almacenan datos de
manera temporal, normalmente para un único uso
(generalmente utilizan un sistema de cola FIFO).
InetAddress getLocalAddress()
Regresa la dirección IP de la máquina local a la cual el socket está enlazado
int getPort()
Regresa el puerto remoto al cual está conectado el socket
int getLocalPort()
Regresa el puerto local al cual está enlazado el socket Es importante ver que cada socket tiene asociado un par de flujos
(streams), para entrada y salida, a través de estos flujos se manda o
void close() recibe la información que fluye entre dos sockets conectados entre si.
Cierra el socket
InputStream getInputStream()
Regresa un flujo de entrada para este socket, que posteriormente se puede usar para recibir
información
OutputStream getOutputStream()
Regresa el flujo de salida de este socket, que posteriormente se puede usar para mandar
información
ServerSocket
Constructores
ServerSocket(int port)
• Crea un socket para escuchar por peticiones de conexión en el puerto especificado, port = 0
crea un socket en cualquier puerto libre
• La fila de espera para peticiones de conexiones se establece en 50
• Crea un socket servidor en el puerto especificado, port = 0 crea un socket en cualquier puerto
libre
• La fila de espera para peticiones de conexiones se establece en backlog
Esta clase nos permite crear sockets que se
ServerSocket(int port,int backlog, InetAddress bindAddr) utilizan exclusivamente para escuchar por
peticiones de conexión, una vez que llega una
• Crea un socket para escuchar por peticiones de conexión en el puerto port, con una fila de petición de conexión, a ésta se le asigna un
espera para conexiones de tamaño backlog y con la dirección IP bindAddr socket de tipo Socket para realizar el
• Este constructor se utiliza en el caso de que se tengan servidores con múltiples direcciones IP intercambio de información
asignadas.
La fila de espera es para poder manejar peticiones de conexión en forma simultánea o cuando
lleguen peticiones antes de que se termine de procesar la que llego antes.
ServerSocket
Métodos importantes
Socket accept()
Escucha por conexiones a este socket, el método
bloquea la ejecución del programa hasta que se
realiza una conexión y regresa como resultado
un socket de tipo TCP para poder realizar la
comunicación entre los dos procesos, el que pide la
conexión y el que la acepta
InetAddress getInetAddress()
Regresa la dirección local a la cual está conectada
el socket
int getLocalPort()
Regresa el puerto local al cual está enlazado el socket
void close() Esta clase nos permite crear sockets que se utilizan exclusivamente para
escuchar por peticiones de conexión, una vez que llega una petición de
Cierra el socket conexión, a ésta se le asigna un socket de tipo Socket para realizar el
intercambio de información