【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]; /* アドレス情報 */
};