Red de conocimientos turísticos - Conocimientos sobre calendario chino - [Sockets] Acerca de los sockets de dominio Unix.

[Sockets] Acerca de los sockets de dominio Unix.

En el mundo real, todo el proceso de intercambio de información entre dos personas se denomina comunicación y las dos partes de la comunicación se denominan puntos finales.

Dependiendo del entorno de comunicación de la herramienta, el punto final puede elegir diferentes herramientas para la comunicación. Si están cerca, pueden hablar directamente. Si está lejos, puede optar por llamar o chatear en WeChat. Estas herramientas se llaman enchufes.

De manera similar, existe un concepto similar en las computadoras:

En Unix, la comunicación consta de dos puntos finales, como un servidor HTTP y un cliente HTTP.

Si desea comunicarse entre puntos finales, debe utilizar algunas herramientas. En Unix, los sockets se utilizan para la comunicación entre puntos finales.

Socket se diseñó originalmente para la comunicación de red y luego se desarrolló un mecanismo IPC UDS basado en el marco de Socket.

Unix Domain Socket (UDS), que también tiene un nombre llamado IPC (Inter-Process Communication).

Los beneficios de usar UDS son obvios: no es necesario pasar por la pila de protocolos de red, no es necesario empaquetar y descomprimir, no es necesario calcular sumas de verificación, no es necesario mantener números de secuencia y respuestas, etc. , simplemente copie los datos de la capa de aplicación de un proceso a otro. Esto se debe a que el mecanismo IPC es una comunicación inherentemente confiable, mientras que los protocolos de red están diseñados para una comunicación no confiable.

La diferencia más obvia entre UDS y sockets de red es que la dirección del socket de red es la dirección IP más el número de puerto, mientras que la dirección UDS es la ruta de un archivo de socket en el sistema de archivos. comienza con El final. calcetín.

El proceso del sistema puede hacer referencia a este archivo Socket. Dos procesos pueden abrir un UDS para comunicarse al mismo tiempo, y este método de comunicación solo ocurrirá en el kernel del sistema y no se propagará en la red.

MySQL se puede conectar localmente a través de un socket.

Al iniciar sesión localmente, si la ruta del archivo socket no se especifica en la parte [cliente] del archivo de configuración my.cnf, mysql buscará /tmp/mysql.sock (compilado e instalado) o /var/lib/mysqld/ de forma predeterminada. mysqld (instalación rpm), por lo que si inicia el servicio mysqld, si el archivo de socket generado no es la ruta predeterminada, se puede informar un error de inicio de sesión (error 2002 (HY000): No se puede conéctese al servidor mysql local a través de socket'/tmp/mysql

De hecho, tanto la parte [mysqld] como la parte [cliente] están configuradas con rutas específicas para evitar este problema. Las conexiones suaves también pueden ser. establecido bajo la ruta tmp, como ln-s/PAH/to/MySQL . sock/tmp/MySQL

De manera similar, los permisos del directorio de archivos del socket también deben liberarse al sistema mysql. user.

En el documento oficial de Docker Docker-Engine, se presentan tres formas de acceder a la API remota de Docker, es decir, el archivo de socket Unix, el puerto de escucha TCP y el descriptor de archivo fd.

¿Qué son pid y socket en MySQL?

/s/MehZ8GeRD9SBm8PxfGugRw

Protocolo de red I: socket de dominio Unix, explique el protocolo de socket en detalle

/17-Palabras-socket-dominio-UNIX

/s/4RwASqJu3Vc_suslKSbBkw

¿Cómo capturar paquetes del socket Socket del dominio UNIX?

/s/SrV9_RouBJtZaUgG4WlamQ

Introducción a los sockets de dominio Unix

/s/psmal 216 huaqytwrbcoimw

Para /var/run/ Comprensión Archivos docker.sock

/developer/article/1454335

Opciones de socket de demonio

/engine/reference/command line/dockerd/# Descripción

Utilice sockets de dominio Unix para comunicarse con el clúster ascendente

/s/5i _ y 1 o7 BSA faw 7 I 51 s7n 8 w

Descriptor de archivo fd completamente comprendido

/artículo/archivo-fd