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 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
PHP如何编写易读的代码
Jul 10 PHP
php session和cookie使用说明
Apr 07 PHP
PHP写杨辉三角实例代码
Jul 17 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
PHP5函数小全(分享)
Jun 06 PHP
关于PHP语言构造器介绍
Jul 08 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 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
类的另类用法--数据的封装
2006/10/09 PHP
php实现简单洗牌算法
2013/06/18 PHP
php中session与cookie的比较
2015/01/27 PHP
php递归函数怎么用才有效
2018/02/24 PHP
javascript知识点收藏
2007/02/22 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
Python中的异常处理学习笔记
2015/01/28 Python
python中管道用法入门实例
2015/06/04 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
中海讯通笔试题
2015/09/15 面试题
党的群众路线教育实践方案
2014/05/11 职场文书
爱护公物标语
2014/06/24 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
初二数学教学反思
2016/02/17 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
js实现自动锁屏功能
2021/06/02 Javascript
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技