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 相关文章推荐
一个好用的分页函数
Nov 16 PHP
精美漂亮的php分页类代码
Apr 02 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
深入浅析php json 格式控制
Dec 24 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
php json转换相关知识(小结)
Dec 21 PHP
php如何获取Http请求
Apr 30 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
php socket方式提交的post详解
2008/07/19 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
详解基于webpack&gettext的前端多语言方案
2019/01/29 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
用Python实现KNN分类算法
2017/12/22 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Python流程控制 if else实现解析
2019/09/02 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
python3注册全局热键的实现
2020/03/22 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
简历的自荐信
2013/12/19 职场文书
小学节能减排倡议书
2014/05/15 职场文书
教师职位说明书
2014/07/29 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
初中语文教学随笔
2015/08/15 职场文书
python数字类型和占位符详情
2022/03/13 Python