当前位置: 首页 > 编程笔记 >

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

微生新霁
2023-03-14
本文向大家介绍mysql_connect localhost和127.0.0.1的区别(网络层阐述),包括了mysql_connect localhost和127.0.0.1的区别(网络层阐述)的使用技巧和注意事项,需要的朋友参考一下

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也是可靠的,消息既不会丢失也不会顺序错乱。

 类似资料:
  • 本文向大家介绍阐述一下阐述Servlet和CGI的区别?相关面试题,主要包含被问及阐述一下阐述Servlet和CGI的区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:servlet   Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成

  • 本文向大家介绍深色网络和深色网络之间的区别,包括了深色网络和深色网络之间的区别的使用技巧和注意事项,需要的朋友参考一下 深网 深度网络是搜索引擎无法访问的网络内容。例如,银行信息,政府机密数据,云中存在的数据。只有经过正确的身份验证,才能访问深度Web上的数据。 暗网 Dark Web是网站所有者匿名的网站。Dark Web通常用于非法活动。暗网无法通过常规浏览器/搜索引擎访问。需要专用软件才能访

  • 我一直想做实时聊天。 多年前,我在PHP Ajax Mysql中就这样做了,并破坏了我的服务器。 然后我用Flash试了一个文本文件。我放弃了,已经10年没有尝试过了。但是最近我听说了webhooks和websockets。 它们似乎都是做到这一点的一种方式,但我并没有真正理解其中的区别。 任何人都可以解释吗? 谢谢!

  • 我对他们有严重的怀疑。任何人都可以举例说明和一些想法。

  • 本文向大家介绍php mysql localhost,127.0.0.1和ip区别,包括了php mysql localhost,127.0.0.1和ip区别的使用技巧和注意事项,需要的朋友参考一下 一家之言: localhost与127.0.0.1的区别 localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次

  • 本文向大家介绍存储区域网络(SAN)和网络附加存储(NAS)之间的区别,包括了存储区域网络(SAN)和网络附加存储(NAS)之间的区别的使用技巧和注意事项,需要的朋友参考一下 存储区域网络(SAN) 存储区域网络(SAN)用于使用光纤通道和交换机在服务器和存储设备之间传输数据。数据由磁盘块表示。SAN使用SCSI,SATA协议。以下是SAN的重要组件。 节点端口 电缆线 集线器,交换机,导向器作为