domingo, 5 de noviembre de 2017

Socket Stream

El uso de sockets permite a dos programas ( ya sea entre dos o más computadoras) intercambiar un flujo de datos, constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a los procesos o hilos apropiados.

Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.


Un Socket Es una interfaz de entrada ­salida de datos que permite la intercomunicación entre procesos. Los procesos pueden estar ejecutándose en el mismo o en distintos sistemas, unidos mediante una red.

Existen dos tipos de sockets, por una parte, Sockets Stream, los más utilizados, hacen uso del protocolo TCP, el cual nos provee un flujo de datos bidireccional, secuenciado, sin duplicación de paquetes y libre de errores, los datos se transfieren sin encuadrarlos en registros o bloques. Si se rompe la conexión entre los procesos, éstos serán informados. A diferencia de los socket datagrama,  donde se transmiten paquetes individuales de información y no garantiza que los paquetes llegarán en alguna forma en particular.

el siguien es un ejemplo del uso de sockets stream en un servidor:



String hostName = args[0];
int portNumber = Integer.parseInt(args[1]);

try (
    Socket echoSocket = new Socket(hostName, portNumber);
    PrintWriter out =
        new PrintWriter(echoSocket.getOutputStream(), true);
    BufferedReader in =
        new BufferedReader(
            new InputStreamReader(echoSocket.getInputStream()));
    BufferedReader stdIn =
        new BufferedReader(
            new InputStreamReader(System.in))
)

Los sockets Stream y los datagrama tienen usos muy similares, mientras que uno notifica siexiste algún error a costa de mayor procesamiento, el otro es mucho más rápido y no garantiza que el destinatario reciba los paquetes.


 Cada uno de estos sockets pueden ser utilizados según las necesidades y funciones que vayan a desarrollar dentro de la red.

No hay comentarios:

Publicar un comentario