컴퓨터 썸네일형 리스트형 C 진수 10진수 2진수 8진수 16진수 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 a 11 1011 13 b 12 1100 14 c 13 1101 15 d 14 1110 16 e 15 1111 17 f 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 10100 24 14 bind 기능 소켓에 주소 정보를 할당한다. 함수 호출이 성공하면 sockfd가 가리키는 소켓에 myaddr이 가리키는 주소 정보가 할당된다.문법int bind(int sockfd, struct sockaddr *myaddr, int addrlen); 매개변수 sockfd: 주소를 할당하고자 하는 소켓의 파일 디스크립터를 인자로 전달 myaddr: 할당하고자 하는 주소 정보를 지니고 있는 sockaddr_in 구조체 변수의 포인터를 인자로 전달(sockaddr는 sockaddr_in과 sockaddr_un 을 다 쓸 수 있는 범용적 구조체) addrlen: 인자로 전달된 주소 정보 구조체의 길이를 전달반환값 성공 시 0, 실패 시 -1 memset 기능 어떤 메모리의 시작점부터 연속된 범위를 어떤 값으로(바이트 단위) 모두 지정하고 싶을 때 사용하는 함수문법void* memset(void* ptr, int value, size_t num); 매개변수 ptr: 채우고자 하는 메모리의 포인터 value: 메모리에 채우고자 하는 값 num: 채우고자 하는 바이트의 수. 즉, 채우고자 하는 메모리의 크기예제char a[20]; memset(a, 65, sizeof(a)); inet_addr 기능 Dotted-Decimal Notation을 (ex. 255.255.255.255) Big-Endian 32비트 값으로 (ex. 0x12345678) 변환해준다. 문법unsigned long inet_addr(const char *string); 매개변수 Dotted-Decimal Notation 문자열의 포인터 반환값 성공 시 Big_Endian 32비트 값, 오류 발생 시 INADDR_NONE sockaddr_in 출처: 열혈강의 TCP IP 소켓 프로그래밍 설명 IPv4의 주소 체계를 나타내는 구조체 문법struct sockaddr_in { sa_family_t sin_family; uint16_t sin_port; struct in_addr; char sin_zero[8]; };멤버 sin_family: 프로토콜 체계마다 다른 주소체계주소체계(Address Family) 정의 AF_INET IPv4 인터넷 프로토콜 AF_INET6 IPv6 인터넷 프로토콜 AF_LOCAL Local 통신을 위한 UNIX 프로토콜 sin_port: 16비트 Port 정보를 대입해 준다. 네트워크 바이트 순서로 대입해야 한다. (즉, Big-Endian) sin_addr: 32비트 IP 주소 정보를 대입해 준다. 역시 네트워크 바이.. 이전 1 ··· 83 84 85 86 87 88 다음