#ipv6
#ipv6
Вопрос:
Адрес IPV4 был записан как {127, 0, 0, 1 } Как записать адрес обратной связи в IPV6 в этом формате. Нужно ли мне брать массив размером 16??? Нет ли способа получше???
Ответ №1:
Что ж, IPv6 имеет много «сокращенных» форм, так что адрес обратной связи может быть записан как ::1
— однако в массиве вам нужно было бы указать все это по буквам (16 * 8 = 128 бит):
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
Комментарии:
1. @ Piskvor… Спасибо… это нормально, но есть ли какая-либо функция, которая может преобразовать адрес IPV4 в адрес IPV6. На самом деле в этой части кода memcpy( amp;addr.sin6_addr, address, (int)sizeof( *address)); Я хочу заполнить addr.sin6_addr адресом, который является адресом обратной связи IPV6
2. «преобразовать адрес IPV4 в IPV6″… хм, ну, есть SIIT , но, как правило, не существует предсказуемого сопоставления между адресами IPv4 и IPv6 — наличие одного не гарантирует наличие другого (в большинстве моих случаев адрес IPv6 совершенно не связан с адресом IPv4 того же сетевого интерфейса).