>  기사  >  운영 및 유지보수  >  리눅스 inet addr이란 무엇입니까?

리눅스 inet addr이란 무엇입니까?

藏色散人
藏色散人원래의
2023-04-21 11:06:592298검색

linux inet addr은 함수입니다. inet_addr()의 함수는 점으로 구분된 십진수 IP를 긴 정수로 변환하는 것입니다. 구문은 "in addr t inet addr(const char *cp)"와 같습니다. cp 매개변수의 문자열입니다. 이 문자열은 인터넷의 "." 간격 ​​형식을 사용하는 숫자 인터넷 주소를 나타냅니다.

리눅스 inet addr이란 무엇입니까?

이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.