Socket Stream (Ensayo)
Diego Vertiz Alexis
5IM7
Socket Stream
Introducción
El modelo cliente-servidor tiene una grandiosa utilidad, y para que éste se pueda efectuar de la manera correcta se necesitan diversas herramientas, y una de ellas son los sockets, que engloba un gran número de funciones dentro de la comunicación entre diversos medios como comuputadoras a traves de mensajes. Existen diversos tipos y uno de ellos son los Sockets Stream.
Desarrollo
Un Socket Steam es un servicio orientado a conexión, donde los datos se transfieren como un flujo continuo, sin encuadrarlos en registros o bloques. Este tipo de socket se basa en el protocolo TCP, que es un protocolo orientado a conexión. Esto implica que antes de transmitir información hay que establecer una conexión entre los dos sockets.
Mientras uno de los sockets atiende peticiones de conexión (servidor), el otro solicita la conexión (cliente). Una vez que los dos sockets están conectados, ya se puede transmitir datos en ambas direcciones. El protocolo incorpora de forma transparente al programador la corrección de errores. Es decir, si detecta que parte de la información no llegó a su destino correctamente, esta volverá a ser trasmitida. Además, no limita el tamaño máximo de información a transmitir.
En un Socket Stream los datos se transfieren utilizando el concepto de un flujo de datos continuo que fluye desde una fuente a un destino (también llamado sumidero). Los datos se insertan, o escriben, dentro de un flujo por un proceso que controla la fuente y los datos se extraen, o leen, del flujo por un proceso asociado al destino.
Pora poder mandar mensajes, las unidades de datos escritas y leídas no necesitan coincidir. Por ejemplo, 100 bytes de datos escritos utilizando una operación pueden leerse usando una operación de lectura de 20 bytes, seguida por otra operación read de 80 bytes.
En el API de Socket Datagrama se basa en el intercambio de unidades discretas de datos, es decir, datagramas, para poder recibir y enviar infomación de una computadora a otra. El Socket Datagrama utilizaba UDP, y pueden o no estár orientados a conexión
Por otro lado, el Socket en modo Stream no utiliza Datgramas para poder comunicarese, sino que proporciona un modelo de transferencia de datos basado en la E/S en modo stream, es decir, proporciona sólo comunicaciones orientadas a conexión.
El API de sockets en modo stream es una extensión del modelo de E/S en modo stream. Usando el API, cada uno de los dos procesos crea individualmente un socket en modo stream.
Conclusión
En programación los sockets tienen mucha importancia debido a su uso extendido. A través de ellos y en conjunto con un patrón de diseño podemos implementar un servicio web robusto y extensible, para que el cliente logre obtener lo que desee.
Para que logremos un buen y eficiente sistema distribuido se deben de tomar en cuenta siempre los sockets, ya que cuando se toman en funcionamiento se llega a mejores resultados facilitando la comunicación entre equipos y muchas otras cosas más.
Los sockets nos proporcionan una gran ventaja, porque al usarlos se pueden crear chats donde la respuesta de un servidor sea inmediata, y no como las que se alojan en bases de datos, los cuales comparados con los sockets, tienen mucha lentitud.
La gran ventaja de usar un Socket Stream es que apenas introducen sobrecarga sobre la información transmitida. Además, los retrasos introducidos son mínimos, lo cual los hace especialmente interesantes para aplicaciones en tiempo real, como la transmisión de audio y vídeo sobre Internet.
En conclusión, si deseas una comunicación libre de errores y sin preocupaciones para el programador, es más conveniente que utilices sockets stream.
Fuentes
-Developers Android. (22017).Obtenido de https://developer.android.com: https://developer.android.com/reference/java/net/DatagramSocket.html-Mirely, H. (2012). Sockets. Octubre 8, 2017, de BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA Sitio web: https://facturapp.weebly.com/sockets.html
Comentarios
Publicar un comentario