Los
protocolos de
aplicación se comunican con el nivel de transporte
mediante un API, denominada API Socket,
y que en en el caso de Java viene implementada mediante las clases
del paquete java.net
como
Socket
y ServerSocket
.
Como recordarás, un socket Java es la representación de una conexión para la transmisión de información entre dos ordenadores distintos o entre un ordenador y él mismo. Esta abstracción de medio nivel, permite despreocuparse de lo que está pasando en capas inferiores.
Dentro de una red, un socket es único pues viene caracterizado por cinco parámetros: el protocolo usado (HTTP, FTP, etc.), dos direcciones IP (la del equipo local o donde reside el proceso cliente, y la del equipo remoto o donde reside el proceso servidor) y dos puertos (uno local y otro remoto)
Te recordamos los pasos que se siguen para establecer, mantener y cerrar una conexión TCP/IP:
- Se crean los sockets en el cliente y el servidor
- El servidor establece el puerto por el que proporciona el servicio
- El servidor permanece a la escucha de las peticiones de los clientes.
- Un cliente conecta con el servidor.
- El servidor acepta la conexión.
- Se realiza el intercambio de datos.
- El cliente o el servidor, o ambos, cierran la conexión.