accept - ソケットへの接続を受ける
struct sockadd_in の実装は以下の通り。
struct sockaddr_in {
sa_family_t sin_family; /* address family: AF_INET */
in_port_t sin_port; /* port in network byte order */
struct in_addr sin_addr; /* internet address */
};
/* Internet address. */
struct in_addr {
uint32_t s_addr; /* address in network byte order */
};
ここで、inet_ntoa()関数を使用して sockaddr_in 構造体から IP アドレスを表示させる実装は、以下のようになる。
printf("IP = %s\n", inet_ntoa(client.sin_addr));
ただし、次のヘッダーファイルをインクルードしなければ、表示されないので注意!
<arpa/inet.h>
数値としてIPアドレスを操作する機能の定義
参考:
ACCEPT
ソケット(BSD)