Skip to main content

ソケットCとは何ですか?

Socket Cは、Cプログラミング言語でソケットコードを作成するプロセスを参照するために使用される場合があり、一部のソケット機能の実装を保持する実際のライブラリファイルを参照するために使用される場合があります。実際のソケットCライブラリファイルには、言語ライブラリが提供する基本的なソケット機能を提供するさまざまな機能とマクロの実装が含まれていますが、ソケットCファイルは動作しており、一部のシステムでは実装されていない場合があります。ソケットCコードの作成には、ソケットと呼ばれる標準の入力および出力プロトコルを使用したインターフェイスを作成し、通常はネットワークまたはハードウェアを介して情報を送信または受信するために使用します。Cプログラミング言語はポータブルであることを目的としていますが、ソケットプログラミングはいくつかの低レベルのシステム固有の機能に依存しているため、ソケットを使用するが、システムの携帯性を維持するCでプログラムを作成するのが難しい場合があります。ソケットCがサポートするソケットの基本タイプ。1つ目はデータグラムと呼ばれ、2つ目はストリーム、3つ目はRAWアクセスです。データグラムは、パケットと呼ばれる小さなバンドルで情報を送信するソケットの一種です。各パケットは、ネットワーク全体で探している宛先ソケットに関する情報を含むソースから送信されます。データグラムはソケットを介して通信する効率的な方法であり、電子メールの送信に使用されることがよくありますが、送信されるパケットが宛先ソケットに到達することは保証されていないため、損失もあります。ソケットと情報はソケット間で直接渡されます。ソケットCプログラミングで使用すると、このタイプのソケットにより、送信されるすべてのデータが反対側で受信されるようになります。ただし、1つの合併症は、ソケットがブロッキングを使用できる場合があることです。つまり、ソケットは情報が受信されるまで、またはソケットが閉じられるまでプロセスの実行を停止しますが、スレッドまたはフォークプロセスを使用すると、ほとんどの場合にこの問題を解決できます。生のソケットアクセスは、ソケットをホストしているデバイスを使用して、ほぼハードウェアレベルで実際にインターフェースする手段として提供されます。ネットワーキングを可能にするハードウェアとドライバーは、オペレーティングシステムによって大きく異なるため、可能なすべての組み合わせをサポートするソケットCライブラリファイルを見つけることは困難です。このため、ソケットCファイル自体とソケットヘッダーファイルには、多くの場合、条件付きコンパイルディレクティブの長いリストが含まれているため、さまざまなシステムで異なってコンパイルされます。