mysql_connect localhost和127.0.0.1的区别(网络层阐述)


Posted in PHP onMarch 26, 2015

connects.php

mysql_connect('127.0.0.1','root','zzzizzz1');

mysql_connect('localhost','root','zzzizzz1');

使用strace获取系统调用:

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原本是为网络通讯设计的,但后来在Socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。
虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:
不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。
这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。
UNIX Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息(UDP)的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。

PHP 相关文章推荐
用PHP生成html分页列表的代码
Mar 18 PHP
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
Jun 21 PHP
PHP下常用正则表达式整理
Oct 26 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
PHP代码审核的详细介绍
Jun 13 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 PHP
PHP7 参数处理机制修改
Mar 09 PHP
php实现RSA加密类实例
Mar 26 #PHP
PHP中实现crontab代码分享
Mar 26 #PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 #PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 #PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 #PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 #PHP
php编写的一个E-mail验证类
Mar 25 #PHP
You might like
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
JSQL  一个 web DB 的封装
2010/05/05 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
python mysqldb连接数据库
2009/03/16 Python
Python SQLite3数据库操作类分享
2014/06/10 Python
Python使用py2exe打包程序介绍
2014/11/20 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
详解Django配置JWT认证方式
2020/05/09 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
如何填写个人简历自我评价
2013/12/10 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
求职自我评价范文
2015/03/09 职场文书
英语导游欢迎词
2015/09/30 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python