ITメモ
C言語 / Programming Language C




【C言語】ソケット通信 / Socket Communication

【C言語】
ソケット通信 / Socket Communication





ソケット通信とは

TCP/IPなどインターネットを使っての通信。




アドレスの指定

ソケットを使用するアプリケーションでは、IPアドレスとポート番号をOSカーネルに知らせる必要があります。
ソケットAPIではソケットに関連付けしたアドレスを指定するために、「sockaddr」という汎用のデータ型が定義されています。
プロトコルごとにsockaddrデータ型にキャストできるデータ構造を再定義することで、ソケットの汎用性を持たせています。
例えば、TCP/IPソケットアドレスでは「sockaddr_in」構造体を利用しますが、これはsockaddr構造体をTCP/IPソケットアドレス用の形式に定義し直したものがとなります。

struct sockaddr {
unsigned short sa_family; /* アドレスファミリー */
char sa_data[14]; /* アドレス情報 */
};