数码资讯
mysql_connectlocalhost和127.0.0.1的区别(网络层)
connects.php 复制代码代码如下所示: mysql_connect('127.0.0.1 ','root ','zzzizzz1); mysql_connect('localhost ','root ','zzzizzz1); 使用strace得到系统调用: 复制代码代码如下所示: str
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
connects.php
复制代码代码如下所示:
mysql_connect('127.0.0.1 ','root ','zzzizzz1);
mysql_connect('localhost ','root ','zzzizzz1);
使用strace得到系统调用:
复制代码代码如下所示:
strace PHP connects.php 2 > 1 | grep连接
# 127.0.0.1 ->网络插座
连接(3,{ sa_family = af_inet,sin_port = htons(3306),sin_addr = inet_addr(127.0.0.1)},16)= 1 einprogress(正在进行操作)
# localhost -> Unix域套接字
连接(7,{ sa_family = af_file,路径= / / /无功运行mysqld / mysqld。袜子},110)= 0
套接字最初是为网络通信而设计的,但随后在socket的框架,即UNIX域套接字上开发了一个IPC机制。
虽然网络插座也可用于同一主机之间的进程间通信(通过环回地址127.0.0.1),Unix域套接字IPC更有效:
不需要网络协议栈,无需打包和解包、计算校验和、维护序号和应答等,而是将应用程序级数据从一个进程复制到另一个进程。
这是因为IPC机制本质上是一种可靠的通信,而网络协议是为不可靠的通信而设计的。
UNIX域套接字还提供了两个用于流媒体和数据包的API接口,类似于TCP和UDP,但UNIX域消息套接字(UDP)也是可靠的,消息不会丢失或无序。
复制代码代码如下所示:
mysql_connect('127.0.0.1 ','root ','zzzizzz1);
mysql_connect('localhost ','root ','zzzizzz1);
使用strace得到系统调用:
复制代码代码如下所示:
strace PHP connects.php 2 > 1 | grep连接
# 127.0.0.1 ->网络插座
连接(3,{ sa_family = af_inet,sin_port = htons(3306),sin_addr = inet_addr(127.0.0.1)},16)= 1 einprogress(正在进行操作)
# localhost -> Unix域套接字
连接(7,{ sa_family = af_file,路径= / / /无功运行mysqld / mysqld。袜子},110)= 0
套接字最初是为网络通信而设计的,但随后在socket的框架,即UNIX域套接字上开发了一个IPC机制。
虽然网络插座也可用于同一主机之间的进程间通信(通过环回地址127.0.0.1),Unix域套接字IPC更有效:
不需要网络协议栈,无需打包和解包、计算校验和、维护序号和应答等,而是将应用程序级数据从一个进程复制到另一个进程。
这是因为IPC机制本质上是一种可靠的通信,而网络协议是为不可靠的通信而设计的。
UNIX域套接字还提供了两个用于流媒体和数据包的API接口,类似于TCP和UDP,但UNIX域消息套接字(UDP)也是可靠的,消息不会丢失或无序。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。