ホームページ  >  記事  >  運用・保守  >  Linuxのsockファイルとはどういう意味ですか?

Linuxのsockファイルとはどういう意味ですか?

藏色散人
藏色散人オリジナル
2023-04-12 10:48:102094ブラウズ

linux sock ファイルは、シェル プログラミングによって形成されたソケット ファイルを指します。ソケットは、アプリケーション層と TCP/IP プロトコル ファミリの間の通信のための中間ソフトウェア抽象化層です。これは一連のインターフェイスであり、設計上モード、ソケット 実際、これは複雑な TCP/IP プロトコル ファミリをソケット インターフェイスの背後に隠すファサード モードです。

Linuxのsockファイルとはどういう意味ですか?

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

Linux の Sock ファイルとは何を意味しますか?

Linux の Sock は、通常、シェル プログラミングによって形成されたソケット ファイルを指します。ls -l を渡すと、最初に表示されるファイル タイプは次のとおりです。

ソケットとは何ですか?

1. ソケットソケット:

ソケットは Unix に由来しており、Unix/Linux の基本哲学の 1 つは「すべてはファイルである」というもので、ファイルは「」で開くことができます。 open -> ; 読み取りおよび書き込み write/read –> 「close」モードで動作します。ソケットはこのモードの実装です。ソケットは特別なファイルであり、いくつかのソケット関数はそのファイルに対する操作 (読み取り/書き込み IO、オープン、クローズ) です。

端的に言うと、ソケットは、アプリケーション層と TCP/IP プロトコル スイート通信の中間ソフトウェア抽象化層であり、インターフェイスのセットです。デザイン モードでは、Socket は実際にはファサード モードであり、複雑な TCP/IP プロトコル ファミリを Socket インターフェイスの背後に隠します。ユーザーにとっては、一連の単純なインターフェイスがすべてであり、Socket が指定された要件を満たすようにデータを編成できるようになります。

注: 実際、ソケットにはレイヤーの概念はなく、ファサード デザイン パターンを適用しただけなので、プログラミングが容易になります。ソフトウェア抽象化レイヤーです。ネットワーク プログラミングでは、多くのソケットを使用します。

2. ソケット記述子

は実際には整数です。私たちが最もよく知っている 3 つのハンドルは 0、1、2 です。0 は標準入力、1 は標準出力、2 は標準入力です。は標準エラー出力です。 0、1、および 2 は整数で表され、対応する FILE * 構造は stdin、stdout、および stderr で表されます

ソケット API はもともと UNIX オペレーティング システムの一部として開発されたため、ソケット APIシステムの他の I/O デバイスと統合されています。特に、アプリケーションがインターネット通信用のソケットを作成すると、オペレーティング システムはソケットを識別するための記述子として小さな整数を返します。次に、アプリケーションは記述子をパラメーターとして渡し、関数を呼び出して何らかの操作 (ネットワーク経由でのデータ送信や受信データの受信など) を完了します。

多くのオペレーティング システムでは、ソケット記述子とその他の I/O 記述子が統合されているため、アプリケーションはソケット I/O またはファイルへの I/O 読み取り/書き込み操作を実行できます。

アプリケーションがソケットを作成したい場合、オペレーティング システムは記述子として小さな整数を返し、アプリケーションはこの記述子を使用して、ソケットが I/O 要求を必要とするアプリケーション要求を参照します。ファイルを開きます。オペレーティング システムは、アプリケーションがファイルにアクセスするためのファイル記述子を作成します。アプリケーションの観点から見ると、ファイル記述子は、アプリケーションがファイルの読み取りと書き込みに使用できる整数です。以下の図は、オペレーティング システムが内部データ構造を指すポインターの配列としてファイル記述子を実装する方法を示しています。

Linuxのsockファイルとはどういう意味ですか?

プログラム システムごとに個別のテーブルがあります。正確に言うと、システムは実行中のプロセスごとに個別のファイル記述子テーブルを維持します。プロセスがファイルを開くと、システムはファイルの内部データ構造へのポインタをファイル記述子テーブルに書き込み、テーブルのインデックス値を呼び出し元に返します。アプリケーションはこの記述子を記憶し、将来ファイルを操作するときにそれを使用するだけで済みます。オペレーティング システムは、この記述子をインデックスとして使用してプロセス記述子テーブルにアクセスし、ポインタを使用してファイルに関するすべての情報を保持するデータ構造を見つけます。

ソケットのシステム データ構造:

1) ソケット API には、ソケットの作成に使用される関数ソケットがあります。ソケット設計の一般的な考え方は、ソケットは非常に一般的なため、1 つのシステム コールで任意のソケットを作成できるということです。ソケットが作成されたら、アプリケーションは他の関数を呼び出して特定の詳細を指定する必要があります。たとえば、socket を呼び出すと新しい記述子エントリが作成されます:

Linuxのsockファイルとはどういう意味ですか?

2) ソケットの内部データ構造には多くのフィールドが含まれていますが、システムがソケットを作成した後は、ほとんどのフィールドが単語フィールドは未入力のままになります。アプリケーションがソケットを作成した後、ソケットを使用するには、他のプロシージャを呼び出してこれらのフィールドに値を設定する必要があります。

推奨学習: 「Linux ビデオ チュートリアル

以上がLinuxのsockファイルとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。