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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
php生成短网址/短链接原理和用法实例分析
May 29 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入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
javascript实现日历效果
2019/06/17 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
使用python Django做网页
2013/11/04 Python
python时间整形转标准格式的示例分享
2014/02/14 Python
使用Python生成url短链接的方法
2015/05/04 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
竞争性谈判邀请书
2014/02/06 职场文书
高中军训感言600字
2014/03/11 职场文书
简单的项目建议书模板
2014/03/12 职场文书
珍惜水资源建议书
2014/03/12 职场文书
活动总结书
2014/05/08 职场文书
青安岗事迹材料
2014/05/14 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
药店促销活动总结
2014/07/10 职场文书
群众路线专项整治方案
2014/10/27 职场文书
质量承诺书格式范文
2015/04/28 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers