


The difference between mysql_connect localhost and 127.0.0.1 (network layer explanation)_PHP tutorial
The difference between mysql_connect localhost and 127.0.0.1 (network layer explanation)
This article mainly introduces the difference between mysql_connect localhost and 127.0.0.1 (network layer explanation). This article starts from The network communication level explains their differences, friends in need can refer to it
connects.php
The code is as follows:
mysql_connect('127.0.0.1','root','zzzizzz1');
mysql_connect('localhost','root','zzzizzz1');
Use strace to get system calls:
The code is as follows:
strace php connects.php 2>&1 | grep connect
#127.0.0.1 -> internet socket
connect(3, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)
#localhost -> unix domain socket
connect(7, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, 110) = 0
Socket was originally designed for network communication, but later an IPC mechanism was developed based on the Socket framework, which is UNIX Domain Socket.
Although network sockets can also be used for inter-process communication on the same host (via loopback address 127.0.0.1), UNIX Domain Sockets are more efficient for IPC:
There is no need to go through the network protocol stack, package and unpack, calculate checksums, maintain sequence numbers and responses, etc. It just copies the application layer data from one process to another.
This is because the IPC mechanism is essentially reliable communication, while network protocols are designed for unreliable communication.
UNIX Domain Socket also provides two API interfaces, stream-oriented and packet-oriented, similar to TCP and UDP, but message-oriented (UDP) UNIX Domain Socket is also reliable, and messages will neither be lost nor out of order.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The page is blank after PHP connects to MySQL, and the reason why die() function fails. When learning the connection between PHP and MySQL database, you often encounter some confusing things...

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

How to share the same page on the PC and mobile side and handle cache issues? In the nginx php mysql environment built using the Baota background, how to make the PC side and...

PHP...

Using Django and MySQL to process large data volumes When using Django and MySQL databases, if your data volume reaches hundreds of thousands to one or two million...

The collaborative working mechanism between Apache or Nginx and PHP: Comparison of mod_php5, php-cgi and php-fpm is to use Apache or Nginx to build a web server and use PHP for backend...

An application that converts XML directly to PDF cannot be found because they are two fundamentally different formats. XML is used to store data, while PDF is used to display documents. To complete the transformation, you can use programming languages and libraries such as Python and ReportLab to parse XML data and generate PDF documents.

"DebianStrings" is not a standard term, and its specific meaning is still unclear. This article cannot directly comment on its browser compatibility. However, if "DebianStrings" refers to a web application running on a Debian system, its browser compatibility depends on the technical architecture of the application itself. Most modern web applications are committed to cross-browser compatibility. This relies on following web standards and using well-compatible front-end technologies (such as HTML, CSS, JavaScript) and back-end technologies (such as PHP, Python, Node.js, etc.). To ensure that the application is compatible with multiple browsers, developers often need to conduct cross-browser testing and use responsiveness
