¿Qué es un Socket?
Una aplicación servidor normalmente escucha a un puerto específico esperando una petición de
conexión de un cliente. Cuando llega una petición de conexión, el cliente y el servidor
establecen una conexión dedicada sobre la que poder comunicarse. Durante el proceso de conexión,
el cliente es asignado a un número de puerto, y ata un socket a ella. El
cliente habla al servidor escribiendo sobre el socket y obtiene información del servidor cuando
lee de él. Similarmente, el servidor obtiene un nuevo número de puerto local (necesita un nuevo
puerto para poder continuar escuchando para petición de conexión del puerto original.) El
servidor también ata un socket a este puerto local y comunica con él mediante la lectura y
escritura sobre él.
El cliente y el servidor deben ponerse de acuerdo sobre el protocolo -- esto es, debe ponerse
de acuerdo en el lenguaje para transferir la información de vuelta através del socket.
|
Definición:
Un socket es un punto final de un enlace de comunicación de dos vías entre dos programas que se
ejecutan a través de la red.
|
El paquete java.net del entorno de desarrollo de Java proporciona una clase -- Socket -- que
representa un final de una comunicación de dos vías entre un programa java y otro programa de
la red. La clase Socket implementa el lado del servidor de un enlace de dos vías. Si estás
escribiendo software de servidor, también estarás interesado en la clase ServerSocket que
implementa el lado del servidor en un enlace de dos vías. Esta lección muestra cómo utilizar
las clases Socket y ServerSocket.
Si estás intentando conectar con la World Wide Web, la clase URL y las clases relacionadas con
esta (URLConnection, URLEncoder) son más indicadas para lo que estás haciendo. Las URLs son
conexiones de nivel relativamente alto para la Web y utilizan los sockets como parte de su
implementación interna. Puedes ver Trabajar con
URLs para más información sobre como conectarse con la Web mediante URLs.
También puedes ver
java.net.ServerSocket
java.net.Socket