Skip to main content

¿Qué es la programación de sockets?

La programación de sockets es un esquema de programación en el que se usan y manipulan sockets para crear una conexión entre el software. Los sockets se usan para conectar software entre diferentes computadoras o dentro de la misma computadora para que los programas puedan compartir datos. La programación de sockets se usa con mensajería instantánea, navegadores de Internet, programas para compartir archivos y cualquier cosa que obligue a la computadora a conectarse a un sistema. La mayoría de los enchufes se programan automáticamente, pero algunos sistemas operativos (SO) ponen esta responsabilidad en manos del usuario.

La programación de sockets implica el uso de una lista de comandos para conectar un socket de una computadora a otra. Por ejemplo, para que un programa de mensajería instantánea funcione, debe conectarse a una segunda computadora. Para hacer esta conexión, se utiliza un zócalo. Al forjar la conexión, las dos computadoras ahora pueden conectarse y hablar entre sí.

Los programas punto a punto (P2P) son casos especiales cuando se trata de programación de sockets. La mayoría de los programas actúan como un cliente o un servidor. Un programa P2P actúa como ambos, por lo que los usuarios pueden descargar archivos de una persona mientras que los archivos se descargan del usuario al mismo tiempo.

Si bien la mayoría de la programación de socket se usa para que dos computadoras puedan interactuar, también es útil para dos programas en la misma computadora. Conocido como interprocesamiento, esto permite que un programa tome información de otro programa y la use. Por ejemplo, si un programa es un creador de presentaciones de diapositivas y necesita información de un programa de video para reproducir videos en la diapositiva, entonces se crea un zócalo para conectar los programas de presentación de diapositivas y video. El interprocesamiento es común, pero no tan común como usar sockets entre dos computadoras.

Al usar la programación de sockets, el programador y el usuario deben recordar que los sockets son bidireccionales. Esto significa que ambas computadoras pueden comunicarse entre sí mientras toman datos entre sí. Abrir una computadora a otro sistema puede ser peligroso, porque la otra parte podrá lanzar un ataque si su usuario es malicioso. Sin embargo, esto es raro, y conectar un zócalo a otro sistema suele ser seguro.

Los sockets generalmente se realizan automáticamente en el sistema operativo o con una programación limitada. En las interfaces del sistema operativo donde la línea de comando se usa con frecuencia, el usuario frecuentemente tendrá que forjar los sockets manualmente. Esto obliga al usuario a conocer una programación básica de sockets para poder realizar estas conexiones importantes. Si no se crea el zócalo, la computadora no podrá comunicarse con otros sistemas, lo que limitará la utilidad de la computadora.