Los tipos de sockets definen las propiedades de la comunicación que estarán disponibles para la aplicación. Los procesos solamente pueden comunicarse mediante sockets del mismo tipo. Existen 5 tipos diferentes:
Stream socket - comunicación en dos sentidos, secuenciada y segura (SOCK_STREAM). En el dominio de internet utiliza el protocolo TCP (similar a una conversación telefónica)
Datagram socket - comunicación en dos sentidos, no asegura la secuencialidad de los mensajes enviados (un mensaje que ha sido enviado después de otro puede llegar antes que este) y tampoco es segura (el equipo de origen no sabe si el mensaje ha alcanzado su objetivo o no) (SOCK_DGRAM). En el dominio de internet utiliza UDP (similar al envío y recepción de correos)
Secuencial packet socket - comunicación en dos sentidos, secuenciada y segura para datagramas de tamaño fijo (SOCK_SEQPACKET). No existe protocolo en internet que implemente este tipo de socket.
Raw socket - Proporciona acceso a la capa de comunicaciones.
Los sockets son orientados a datagramas pero sus características exactas dependen del interfaz proporcionado por el protocolo.
La utilidad de conocer y poder realizar aplicaciones que utilizen sockets es indiscutible. Si deseas comunicar tu aplicación con otras aplicaciones en otras maquinas o incluso dentro de tu maquina mismo debes conocer a utilizar los sockets.




