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

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

WBOY
リリース: 2016-07-13 10:00:17
オリジナル
1309 人が閲覧しました

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

この記事では、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 |

#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.comtru​​ehttp://www.bkjia.com/PHPjc/974523.html技術記事 mysql_connect localhost と 127.0.0.1 の違い (ネットワーク層の説明) この記事では主に mysql_connect localhost と 127.0.0.1 の違い (ネットワーク層の説明) を紹介します この記事はネットワーク通信層から始まります...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート