Programación de Redes en Java: Uso de Clases java.net, Sockets TCP y Datagramas UDP
Clasificado en Informática
Escrito el en
español con un tamaño de 3,07 KB
Clases Java para Comunicaciones en Red
Los equipos conectados a Internet se comunican utilizando el protocolo de transporte TCP o UDP. Cuando se escriben programas Java que se comunican a través de la red, se está programando en la capa de aplicación. Normalmente, no es necesario preocuparse por las capas de transporte TCP o UDP; en su lugar, se utilizan las clases del paquete java.net. Existen diferencias entre unas clases y otras, y debemos decidir qué clases usar en los programas.
Diferencias Clave: TCP vs. UDP
- TCP: Protocolo basado en la conexión. Garantiza que los datos enviados desde un extremo de la conexión lleguen al otro extremo y, además, que lleguen en el mismo orden en que fueron enviados. Se establece un canal de comunicación particular entre las dos aplicaciones.
- UDP: No está basado en la conexión. Envía de una aplicación a otra paquetes de datos independientes denominados datagramas. El orden de entrega no es importante y no se garantiza la entrega de los paquetes enviados.
El Paquete java.net: Clases e Interfaces Esenciales
El paquete java.net contiene clases e interfaces para la implementación de aplicaciones que se comunican en red:
- La clase
URL(Uniform Resource Locator): Representa un puntero a un recurso en la web. - La clase
URLConnection: Admite operaciones más complejas en la URL. - Las clases
ServerSocketySocket: Para dar soporte a sockets TCP.ServerSocket: Utilizada por el programa servidor para crear un socket en un puerto por el que está escuchando las peticiones de conexión de los procesos clientes.Socket: Utilizada tanto por el proceso cliente como por el proceso servidor para comunicarse entre sí, escribiendo y leyendo datos utilizando Streams.
- Las clases
DatagramSocket,MulticastSocketyDatagramPacket: Para dar soporte a la comunicación entre aplicaciones vía datagramas UDP. - La clase
InetAddress: Que representa las direcciones de Internet.
Los Puertos en la Comunicación de Red
En general, un ordenador tiene una única conexión física a la red. Los datos destinados a ese ordenador llegan a través de esa conexión; sin embargo, los datos pueden estar destinados a diferentes aplicaciones que se están ejecutando en el equipo. Mediante el uso de puertos, se diferencian los datos destinados a cada aplicación en el ordenador.
Los datos transmitidos a través de Internet van acompañados de información de direccionamiento que identifica la máquina y el puerto al que están destinados. La máquina se identifica por su dirección IP de 32 bits, por lo tanto, para enviar datos a una máquina concreta necesitamos conocer su