May 10, 2011

Sockets...

Un socket es el enlace por el cual dos programas situados en distintas computadoras (o a veces en la misma) pueden intercambiar flujos de datos.


Los requisitos para que dos programas que utilizen sockets pedan comunicarse entre si son:

1. Que un programa pueda localizar al otro, y viceversa
2. Que ambos programas puedan intercambiar datos relevantes.


Y para que todo esto se pueda llevar a cabo es necesario:

1. Un protocolo de comunicaciones.
2. Un par de direcciones del protocolo de red utilizado.
3. Los números de puerto de las computadoras.

Los sockets están basados en la arquitectura cliente servidor o P2P. Para que se realize la comunicación es necesario que el cliente se conecte al servidor.

Dependiendo de como se transmita la información es el tipo de Socket que se utiliza:

Sockets Stream (TCP, Transport Control Protocol)

En este tipo de socket los datos transferidos no son encuadrados en registros o bloques. Se debe establecer una conexión y en caso de que ésta se caiga, se informará al cliente que la conexion se ha caído.

Sockets Datagrama (UDP, User Datagram Protocol)

Este tipo de socket envia la informacion sin tener alguna conexion, son mas eficientes que los de TCP, pero no garantizan que los paquetes de datos lleguen a su destino.

El protocolo de comunicaciones con datagramas es un protocolo sin conexión, es decir, cada vez que se envíen datagramas es necesario enviar el descriptor del socket local y la dirección del socket que debe recibir el datagrama. 

Sockets Raw 

Estos tipos de socket dan acceso directo a la capa de software de red subyacente o a protocolos de más bajo nivel. Se utilizan sobre todo para la depuración del código de los protocolos.

http://es.wikipedia.org/wiki/Socket_de_Internet
http://sunsite.dcc.uchile.cl/java/docs/JavaTut/Cap9/socket.html 

Aqui les dejó un link a un ejemplo de Cliente- Servidor utilizando sockets

http://todojava.awardspace.com/ejemplos-java.html?desc=ClienteServidorSockets

No comments:

Post a Comment