Todos sobre los Sockets
Utilizas URLS y URLConnections para comunicarte a través de la red a un nivel relativamente
alto y para un propósito específico: acceder a los recuros de Internet. Algunas veces tus
programas requieren una comunicación en la red a un nivel más bajo, por ejemplo, cuando
quieras escribir una aplicación cliente-servidor.
En aplicaciones cliente-servidor, el servidor proporciona algún servicio, como procesar
consultas a bases de datos o enviar los precios actualizados del stock. El cliente utiliza el
servicio proporcionado por el servidor para algún fin, mostrar los resultados de la consulta a
la base de datos, o hacer recomendaciones de pedidos a un inversor. La comunicación que ocurre
entre el cliente y el servidor debe ser fiable -- los datos no puede caerse y deben llegar al
lado del cliente en el mismo orden en el que fueron enviados.
TCP proporciona un canal de comunicación fiable punto a punto, lo que utilizan para comunicarse
las aplicaciones cliente-servidor en Internet. Las clases Socket y ServerSocket del paquete
java.net proporcionan un canal de comunicación independiente del sistema utilizando TCP.
Un socket es un punto final en un enlace de comunicación de dos vías entre dos programas que se
ejecutan en la red. Las clases Socket son utilizadas para representar conexiones entre un
programa cliente y otro programa servidor. El paquete java.net proporciona dos clases --
Socket y ServerSocket -- que implementan los lados del cliente y del servidor de una conexión,
respectivamente.
Esta página contiene un pequeño ejemplo que ilustra cómo un programa cliente puede leer y
escribir a través de un socket.
La página anterior mostró un ejemplo de cómo escribir en un programa cliente que interactua con
servidor existente mediante un objeto Socket. Esta página muestra cómo se puede escribir un
programa que implemente el otro lado de la conexión -- un programa servidor.