¿Qué es un socket?
Un socket es un método para la comunicación entre un programa del cliente y un programa del servidor en una red, se define, por tanto, como el punto final en una conexión.
Tipos de socket
En la actualidad existen varios tipos de socket y cada uno por lo regular se asocia a un tipo de protocolo, por ejemplo:
Su principal ventaja radica en que son muy eficientes a la hora de enviar un número elevado de mensajes y datos.
Las propiedades de un socket dependen de las características del protocolo en el que se implementan. Generalmente la comunicación con sockets se realiza mediante un protocolo de la familia TCP/IP (Protocolo de Control de Transmisión/Protocolo de Internet). Los dos más utilizados son: TCP (Protocolo de Control de Transmisión) y UDP (Protocolo de Datagrama de Usuario)
Cuando se implementan con el protocolo TCP, los sockets tienen las siguientes propiedades:
El protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que si un mensaje llega, llegue bien. En ningún caso se garantiza que llegue o que lleguen todos los mensajes en el mismo orden que se mandaron. Esto lo hace adecuado para el envío de mensajes frecuentes pero no demasiado importantes, como por ejemplo, mensajes para los refrescos (actualizaciones) de un gráfico..
- SOCK_STREAM: está asociado al protocolo TCP, este brinda seguridad en la transmisión de datos, seguridad en la recepción, en la integridad y en la secuencia, entre otros.
- SOCK_DGRAM: está asociado al protocolo UDP, e indica que los paquetes viajarán en tipo datagramas, el cual tiene una comunicación asíncrona.
Ventajas
Propiedades inherentes a los sockets
- Orientado a conexión.
- Se garantiza la transmisión de todos los octetos sin errores ni omisiones.
- Se garantiza que todo octeto llegará a su destino en el mismo orden en que se ha transmitido. Estas propiedades son muy importantes para garantizar la corrección de los programas que tratan la información.
A continuación se adjuntarán los archivos de ejemplo de Sockets basado en el libro de Computación Distribuida que son orientados a conexión, en socket Stream y socket Datagrama: https://drive.google.com/drive/folders/0B9ixL_JgUUVJWGFVM3FVSmpicnM?usp=sharing
- Lenguajes y Ciencias de la Computación. Disponible en http://www.lcc.uma.es/~eat/services/i_socket/i_socket.html#link2.
- Comunicacion entre procesos distribuidos. Disponible en http://es.tldp.org/Universitarios/seminario-2-sockets.html.
- Sun. Programación en castellano. Disponible en http://programacion.com/java/tutorial/red/11/.
- Ciencia e Ingeniería de la Computación. Programación en redes. Disponible en http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC99-1/resumen2.html#TCP.
No hay comentarios:
Publicar un comentario