# Tarea 5 "Sockets"
SOCKETS
Introducción:
La primera herramienta de programación para implementar con unicaciones entre procesos: el API de sockets. API de sockets es un mecanismo que proporciona un nivel bajo de abstracción la comprensión del API de sockets es importante al
menos por dos razones. En primer lugar, los mecanismos de
comunicación proprocionados en estratos superiores se construyen
sobre el API de sockets; o sea, se implemntan utilizando las
operaciones proporcionadas por el API de sockets. En segundo
lugar, para aquellas aplicaciones en las que es primordial el tiempo
de respuesta o que se ejecutan sobre una plataforma con recursos
lim itados, el API de sockets puede ser el mecanism o de IPC más
apropiado, o incluso el único disponible. para IPC.
Desarrollo:
Se consideran principalmente dos tipos de sockets, "SOCK_STREAM" y " SOCK_DGRAM". En ocasiones, a los sockets de datagramas se les llama también "sockets sin conexión".
Los sockets de flujo definen flujos de comunicación en dos direcciones, fiables y con conexión. Si envías dos ítems a través del socket en el orden "1, 2" llegarán al otro extremo en el orden "1, 2", y llegarán sin errores. Usan un protocolo llamado "Protocolo de Control de Transmisión", más conocido como "TCP".
Los navegadores, que usan el protocolo HTTP, usan sockets de flujo para obtener las páginas. De hecho, si haces telnet a un sitio de la web sobre el puerto 80, y escribes " GET / ", recibirás como respuesta el código HTML.
El API de sockets de Java, como el resto de interfaces de programación de sockets,
proporciona construcciones de programación de sockets que hacen uso tanto del protocolo
UDP como TCP. Los sockets que utilizan UDP para el transporte son conocidos como
jocle& datagpam a, mientras que los que usan TCP se denominan so d a ets tséw m a Debido
a su relativa simplicidad, en primer lugar se presentarán los sockets datagrama.
Los sockets datagrama pueden dar soporte tanto a una comunicación sin conexión como a una orientada a conexión en el nivel de aplicación. Esto se debe a que, aunque los datagramas se envían o reciben sin la noción de conexiones en el nivel de transporte, el soporte en tiempo de ejecución del API de sockets puede crear y mantener conexiones lógicas para los datagramas intercambiados entre dos procesos.
En Java, el API de sockets datagrama proporciona dos clases:
1. La clase DatagramSocket para los sockets.
2. La clase DatagramPacket para los datagramas intercambiados.
Un proceso que quiera mandar o recibir datos utilizando esta API debe instanciar un
objeto DatagramSocket, o un socket para abreviar.
Los sockets datagram también se basan en el protocolo UDP y ofrecen un servicio de transporte sin conexión. Es decir, podemos mandar información a un destino sin necesidad de realizar una conexión previa. El protocolo UDP es más eficiente que el TCP, pero tiene el inconveniente de que no se garantiza la fiabilidad. Además, los datos se envían y reciben en datagramas (paquetes de información) de tamaño limitado. La entrega de un datagrama no está garantizada: estos pueden duplicarse, perderse o llegar en un orden diferente del que se envió.
Conclusion:
Los sockets son formas de comunicar y transmitir datos por medio de protocolos como el TCP, y se pueden implementar con o sin conexion a internet.
Los sockets funcionan ya sea con una conexion de tipo TCP o utilizando el protocólo UDP, en este ultimo se puede implementar sin antes establecer una conexión, aunque esto provoca que no se garantiza la fiabilidad, caso contrario al establecer una conexión con el protocolo TCP.
Comentarios
Publicar un comentario