ホームページ  >  記事  >  バックエンド開発  >  mysql_connect localhostと127.0.0.1の違い(ネットワーク層の説明)、_PHPチュートリアル

mysql_connect localhostと127.0.0.1の違い(ネットワーク層の説明)、_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:00:04842ブラウズ

mysql_connect localhostと127.0.0.1の違い(ネットワーク層の説明)、

connects.php
コードをコピーします コードは次のとおりです:
mysql_connect('127.0.0.1','root','zzzzz1');
mysql_connect('localhost','root','zzzizzz1');

strace を使用してシステムコールを取得します:
コードをコピーします コードは次のとおりです:
strace php connect.php 2>&1 | grep connect

#127.0.0.1 -> インターネットソケット
connect(3, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (操作が進行中)
#localhost -> UNIX ドメインソケット
connect(7, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, 110) = 0

ソケットはもともとネットワーク通信用に設計されましたが、後にUNIXドメインソケットであるソケットフレームワークに基づいてIPCメカニズムが開発されました。
ネットワーク ソケットは同じホスト上のプロセス間通信 (ループバック アドレス 127.0.0.1 経由) にも使用できますが、IPC では UNIX ドメイン ソケットの方が効率的です。
ネットワーク プロトコル スタックを通過したり、パッケージ化とアンパックを行ったり、チェックサムを計算したり、シーケンス番号や応答を維持したりする必要はありません。アプリケーション層のデータをあるプロセスから別のプロセスにコピーするだけです。
これは、ネットワーク プロトコルが信頼性の低い通信向けに設計されているのに対し、IPC メカニズムは本質的に信頼性の高い通信であるためです。
UNIX ドメイン ソケットには、TCP や UDP と同様に、ストリーム指向とパケット指向の 2 つの API インターフェイスも用意されていますが、メッセージ指向 (UDP) UNIX ドメイン ソケットも信頼性が高く、メッセージが失われたり順序が崩れたりすることはありません。

www.bkjia.com本当http://www.bkjia.com/PHPjc/974677.html技術記事 mysql_connect localhost と 127.0.0.1 の違い (ネットワーク層の説明)、connects.php のコピー コードは次のとおりです。 mysql_connect('127.0.0.1','root','zzzizzz1');
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。