| 패밀리 상수 | 설명 | 주소 표현 방식 | 
|---|---|---|
| AF_INET | 인터넷 소켓(IPv4주소체계) | 32bit IP주소+16bit포트번호 | 
| AF_UNIX | 유닉스 도메인 소켓 | 파일 시스템의 경로명 | 
| AF_INET6 | IPv6 주소체계 | IPv6주소(128bit)+포트번호 | 
| 기타 | 블루투스(AF_BLUETOOTH) 등 | 
SOCK_STREAM를 사용SOCK_DGRAM을 사용위 분류의 상수 값들을 사용해 주로 사용되는 4종류의 소켓 유형을 갖게 된다.
struct sockaddr_un {
      __kernel_sa_family_t    sun_family;                   /* AF_UNIX */
      char s                  sun_path[UNIX_PATH_MAX];      /* 경로명 */
 };struct sockaddr_in {
	__kernel_sa_family_t    sin_family;                /* 주소 패밀리명 */
	__be16                  sin_port;                  /* 포트 번호 */
 	struct in_addr          sin_addr;                  /* 인터넷 주소 */
 };
 
 struct in_addr {
 	__be32 s_addr; /* 32비트 주소 */
 };htons() 를 사용해 변환해주어야 한다.in_addr 구조체로 함)ex)
struct sockaddr_in addr; // IPv4 소켓 주소 구조체
memset(&addr, 0, sizeof(addr)); // 구조체를 전부 0으로 초기화
addr.sin_family = AF_INET; // 주소체계 지정
addr.sin_addr.s_addr = inet_addr("192.168.147.129"); // IP주소 지정.
// inet_addr : 문자열 IP주소를 이진값으로 바꿔서 리턴
addr.sin_port = htons(9000); // 9000번 포트