mysql_connect localhost和127.0.0.1的區(qū)別(網(wǎng)絡層闡述)
來源:易賢網(wǎng) 閱讀:808 次 日期:2015-03-30 11:40:06
溫馨提示:易賢網(wǎng)小編為您整理了“mysql_connect localhost和127.0.0.1的區(qū)別(網(wǎng)絡層闡述)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了mysql_connect localhost和127.0.0.1的區(qū)別(網(wǎng)絡層闡述),本文從網(wǎng)絡通信層面講解了它們的不同,需要的朋友可以參考下

connects.php

代碼如下:

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

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

使用strace獲取系統(tǒng)調用:

代碼如下:

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原本是為網(wǎng)絡通訊設計的,但后來在Socket的框架上發(fā)展出一種IPC機制,就是UNIX Domain Socket。

雖然網(wǎng)絡socket也可用于同一臺主機的進程間通訊(通過loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:

不需要經(jīng)過網(wǎng)絡協(xié)議棧,不需要打包拆包、計算校驗和、維護序號和應答等,只是將應用層數(shù)據(jù)從一個進程拷貝到另一個進程。

這是因為,IPC機制本質上是可靠的通訊,而網(wǎng)絡協(xié)議是為不可靠的通訊設計的。

UNIX Domain Socket也提供面向流和面向數(shù)據(jù)包兩種API接口,類似于TCP和UDP,但是面向消息(UDP)的UNIX Domain Socket也是可靠的,消息既不會丟失也不會順序錯亂。

更多信息請查看IT技術專欄

更多信息請查看網(wǎng)絡編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)