inet_ntoa 예제

  • 0

inet_ntoa 예제

Category : Senza categoria

inet_aton() 및 inet_ntoa()의 사용예는 다음과 같습니다. 다음은 몇 가지 예제 실행입니다: inet_ntoa() 함수 C는 클라이언트 측의 주소를 반환합니다. inet_ntoa(함수)는 구조체 in_addr의 네트워크 주소를 점 및 숫자 형식 문자열로 변환합니다. “ntoa”의 “n”은 네트워크를 의미하며”a”는 역사적 이유로 ASCII를 의미합니다 (그래서 “ASCII네트워크”-“toa” 접미사는 ASCII 문자열을 정수로 변환하는 Atoi()라는 C 라이브러리에서 유사한 친구가 있습니다.) 코드예제와 함께 이 자습서에서 살펴보겠습니다. inet_ntoa() 함수에 대 한 각 호출으로 덮어쓰는 정적 버퍼에서 점 및 숫자 문자열을 반환 합니다. IPv6 소켓에 IPv4 연결이 이루어지면 로컬 및 원격 네트워크 주소가 IPv4 매핑된 주소로 표시됩니다. 예를 들어 IPv4 주소 192.168.0.1은 IPv6 주소 ::ffff:192.168.0.1로 표시됩니다. inet_ntoa() 함수는 네트워크 바이트 순서로 제공되는 인터넷 호스트 주소를 IPv4 점선 소수점 표기의 문자열로 변환합니다. 문자열은 정적으로 할당된 버퍼에서 반환되며 후속 호출이 덮어씁니다. inet_ntoa의 주목할 만한 단점은 스레드가 안전하지 않으며 IPv6에 대한 지원을 제공하지 않는다는 것입니다. 그러나 getnameinfo 와 inet_ntop 모두 사전 날짜를 수행하므로 이전 시스템에서 사용할 수 있습니다. 또 다른 대안은 inet_ntoa 함수를 사용하는 것입니다. inet_ntop과 마찬가지로 지정된 IP 주소는 소켓 주소 내에 포함될 필요가 없습니다.

inet_ntoa(), inet_makeaddr(), inet_lnaof() 및 inet_netof()에서 사용되는 in_addr의 구조는 에서 4.3BSD로 정의됩니다. inet_addr() 및 inet_ntoa()는 POSIX.1-2001에 지정됩니다. inet_aton()은 POSIX.1-2001에 지정되어 있지 않지만 대부분의 시스템에서 사용할 수 있습니다. 우리는 독특한 inet_ntoa() 매개 변수, 구조체 in_addr에 제공합니다. 그런 다음 이 매개 변수의 주소를 검색할 수 있습니다. inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof – inet_ntoa 함수는 inparameter에 의해 지정된 인터넷 주소 구조를 취하고 NULL-종료 ASCII를 반환합니다. “에서 주소를 나타내는 문자열입니다.” (점) 표기법의 “192.168.16.0”에서와 같이, 점선 소수점 표기법의 IPv4 주소의 예입니다. inet_ntoa에서 반환되는 문자열은 Windows 소켓에서 할당된 메모리에 있습니다. 응용 프로그램은 메모리가 할당되는 방식에 대해 어떠한 가정도 해서는 안 됩니다. 반환된 문자열은 다음 Windows Sockets 함수 호출이 동일한 스레드 내에서 이루어질 때까지만 유효합니다.

따라서 다른 Windows 소켓 호출을 하기 전에 데이터를 복사해야 합니다. 다른 방법은 inet_ntop 함수를 사용하는 것입니다. IP 주소가 소켓 주소 내에 아직 포함되어 있지 않은 경우 getnameinfo보다 사용하기가 다소 쉽습니다(예: IPv4 또는 IPv6 주소를 사람이 읽을 수 있는 문자열로 변환하려면(예: 192.168.0.1 또는 2001:db8:1) char *inet_ntoa(struct in_addr); int inet_aton (const char *cp, 구조체 in_addr *inp); in_addr_t inet_addr(const char *cp); 이를 위해 우리는 다른 쉘을 시작해야합니다 (그것은 우리의 클라이언트 측이 될 것입니다). 주소와 포트를 지정해야 합니다. 로컬(시스템)에 있으므로 localhost 별칭을 사용하거나 작동하지 않는 경우 실제 값인 127.0.0.1을 사용할 수 있습니다. . Windows Vista 및 이후에서 RtlIpv4AddressToString 함수는 IN_ADDR 구조로 표시되는 IPv4 주소를 인터넷 표준 점선 소수점 표기법의 IPv4 주소의 문자열 표현으로 변환하는 데 사용할 수 있습니다.