Red de conocimiento informático - Problemas con los teléfonos móviles - socket Acerca del socket de dominio Unix (Socket de dominio Unix)

socket Acerca del socket de dominio Unix (Socket de dominio Unix)

Todo el proceso de intercambio de información entre dos personas en el mundo real 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, los puntos finales pueden elegir diferentes herramientas para comunicarse. Si están cerca, pueden tener conversaciones directas. Si están lejos, pueden elegir llamar o chatear en WeChat. Estas herramientas se llaman Sockets.

De manera similar, existen conceptos similares en las computadoras:

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

Para comunicarse entre puntos finales, debe utilizar ciertas herramientas. En Unix, los sockets se utilizan para comunicarse entre puntos finales.

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

Unix Domain Socket (UDS, socket de dominio Unix), que también tiene otro nombre llamado IPC (comunicación entre procesos, comunicación entre procesos).

Los beneficios de usar UDS son obvios: no hay necesidad de revisar la pila de protocolos de red, empaquetar y desempaquetar, calcular sumas de verificación, mantener números de secuencia y respuestas, etc., simplemente copiar los datos de la capa de aplicación de uno 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 Socket 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 tipo Socket en el sistema de archivos, y el El nombre general termina en .sock.

Los procesos del sistema pueden hacer referencia a este archivo Socket. Dos procesos pueden abrir un UDS al mismo tiempo para comunicarse, 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 parte [cliente] del archivo de configuración my.cnf no especifica la ruta del archivo del socket, mysql buscará /tmp/mysql.sock (compilado e instalado) o / var/lib por defecto /mysql/mysql.sock (instalación rpm), por lo que si el archivo de socket generado cuando se inicia el servicio mysqld no es la ruta predeterminada, se puede informar un error al iniciar sesión (ERROR 2002 (HY000): Puede 'No se conecta al servidor MySQL local a través del socket ' /tmp/mysql.sock').

De hecho, configurar rutas específicas tanto en la parte [mysqld] como en la parte [cliente] puede evitar este problema. También puede establecer una conexión suave bajo la ruta tmp, como por ejemplo: ln -s /. pah/to/mysql.sock/tmp/mysql.sock.

De manera similar, los permisos del directorio de archivos del socket deben otorgarse al usuario del sistema mysql.

En el documento oficial de Docker Docker-Engine, se presentan tres formas de acceder a la API remota de Docker, a saber, 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: Socket de dominio Unix con explicación detallada del protocolo de socket

/17-unix-domain-socket

/s/4RwASqJu3Vc_suslKSbBkw

¿Cómo capturar paquetes para sockets de dominio UNIX?

/s/SrV9_RouBJtZaUgG4WlamQ

Introducción al socket de dominio Unix (Socket de dominio Unix)

/s/psmAL216huaqytwrbcoIMw

Acerca de la comprensión de /var el archivo /run/docker.sock

/developer/article/1454335

Opción de socket Daemon

/engine/reference/commandline/dockerd/#description

Utilice Unix Domain Socket para comunicarse con el clúster ascendente

/s/5i_y1O7bSafAW7I51S7N8w

Comprenda a fondo el descriptor de archivo fd

/article/ archivo-fd