다음 형식의 ipv6 주소가 있습니다.ipv6 유형 주소를 네트워크 바이트 순서로 변환
uint32_t adress6 [4];
따라서 위의 배열은 16 바이트의 전체 및 따라서 ipv6 유형 주소와 같은 4 개의 uint32_t 유형 데이터를 저장합니다.
위의 형식으로 저장된 주소를 네트워크 바이트 순서로 변환하려면 어떻게해야합니까?
다음 형식의 ipv6 주소가 있습니다.ipv6 유형 주소를 네트워크 바이트 순서로 변환
uint32_t adress6 [4];
따라서 위의 배열은 16 바이트의 전체 및 따라서 ipv6 유형 주소와 같은 4 개의 uint32_t 유형 데이터를 저장합니다.
위의 형식으로 저장된 주소를 네트워크 바이트 순서로 변환하려면 어떻게해야합니까?
배열에 주소가 배치되는 방법에 대한 세부 정보가 필요합니다.
일반적으로 IPv6 주소는 uint32 요소로 네트워크 순서로 작성됩니다. uint32 요소 자체는 호스트 순서로 저장됩니다.
예 :
ADDRESS : 데드 : 쇠고기 : 피드 : 직면 카페 : 자기 : baad : c0de
adress6[0] = 0xdeadbeef;
adress6[1] = 0xfeedface;
adress6[2] = 0xcafebabe;
adress6[3] = 0xbaadc0de;
어레이는 네트워크 순서이지만 각 정수 소자는 호스트 될 예정 주문.
void network_order_me (uint32_t *host_ipv6, uint32_t *net_ipv6) {
net_ipv6[0] = htonl(host_ipv6[0]);
net_ipv6[1] = htonl(host_ipv6[1]);
net_ipv6[2] = htonl(host_ipv6[2]);
net_ipv6[3] = htonl(host_ipv6[3]);
}
전화가 htonl이되어서는 안됩니까? – ramrunner
램머를 수정하십시오. 그것을 잡아 주셔서 감사합니다. 수정 됨. –
네트워크 바이트 순서의 32 비트 단어 :
다음과 같은 일을 할 수있는 순서를 네트워크 얻으려면? –
아니요 네트워크 바이트 순서가 아닙니다. –