집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >리눅스 inet addr이란 무엇입니까?
linux inet addr은 함수입니다. inet_addr()의 함수는 점으로 구분된 십진수 IP를 긴 정수로 변환하는 것입니다. 구문은 "in addr t inet addr(const char *cp)"와 같습니다. cp 매개변수의 문자열입니다. 이 문자열은 인터넷의 "." 간격 형식을 사용하는 숫자 인터넷 주소를 나타냅니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
linux inet addr이란 무엇입니까?
inet_addr()의 함수는 점으로 구분된 십진수 IP를 긴 정수(u_long 유형)로 변환하는 것입니다.
inet addr 함수
inet addr 함수 변환 네트워크 호스트 주소 (예: 192.168.1.10)은 네트워크 바이트 순서의 이진 값입니다. char*cp 매개변수가 유효하지 않은 경우 이 함수는 주소 255.255.255.255를 처리할 때 -1을 반환합니다. .255.255는 A 유효한 주소이지만 inet addr은 이를 처리할 수 없습니다.
in addr t inet addr(const char *cp)
이 함수는 cp 매개변수의 문자열을 해석합니다. 이 문자열은 인터넷의 "." 간격 형식을 사용하여 숫자로 된 인터넷 주소를 나타냅니다. 반환값은 인터넷 주소로 사용될 수 있습니다. 모든 인터넷 주소는 네트워크 바이트 순서(바이트는 왼쪽에서 오른쪽으로 정렬됨)로 반환됩니다.
"."로 구분된 인터넷 주소는 다음과 같이 표현할 수 있습니다.
a.b.c.d,a.b.c,a.b,a
4개의 부분이 고정된 값을 가질 때 각각은 1바이트의 데이터로 해석되어 왼쪽에서 오른쪽으로 섹션 주소로 4자리의 인터넷 주소를 구성합니다. 인터넷 주소가 Intel 시스템에서 32비트 정수로 표시될 때 위의 바이트는 "d.c.b.a"입니다. 이는 Intel 프로세서의 바이트가 오른쪽에서 왼쪽으로 정렬되기 때문입니다.
참고: Berkeley만이 다음 표현을 지원하며 인터넷의 다른 곳에서는 지원하지 않습니다. 소프트웨어와의 호환성을 고려하여 지정된 대로 사용해야 합니다.
세 부분으로 구성된 주소의 경우 마지막 부분은 16비트 데이터로 해석되어 네트워크 주소의 가장 오른쪽 2바이트로 사용됩니다. 이러한 방식으로 세 부분으로 구성된 주소는 "128.net.host"와 같은 그룹 B 네트워크 주소를 쉽게 나타낼 수 있습니다. 두 부분으로 구성된 주소의 경우 마지막 부분은 24비트 데이터로 해석되어 가장 오른쪽 역할을 합니다. 이러한 방식으로 두 부분으로 구성된 주소는 "net.host"와 같은 그룹 C 네트워크 주소를 쉽게 나타낼 수 있습니다.
한 부분으로만 구성된 주소의 경우 해당 값은 바이트 재구성 없이 네트워크 주소에 직접 저장됩니다.
반환 값:
오류가 발생하지 않으면 inet_addr()은 인터넷 주소를 적절한 바이트 순서로 저장하는 부호 없는 긴 정수를 반환합니다. "a.b.c.d" 주소의 항목이 255를 초과하는 등 들어오는 문자열이 합법적인 인터넷 주소가 아닌 경우 inet_addr()은 INADDR_NONE을 반환합니다. IP의 한 부분만 있는 경우(즉, "."가 없는 경우), IP 문자열이 숫자로만 구성된 경우 inet_addr()은 숫자가 255보다 큰지 확인하지 않습니다.
추천 학습: "
linux 비디오 튜토리얼위 내용은 리눅스 inet addr이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!