Я використовую те, що я припускаю, це "жорстко закодована" адреса
Так. "Жорстке кодування" означає введення інформації безпосередньо у ваш код, замість того, щоб використовувати деякі непрямі засоби (наприклад, DNS або простий файл конфігурації). Це загальний термін і не обмежується IP, або навіть мережевими мережами.
Якщо ваші дзвінки connect () посилаються безпосередньо на IP-адресу - тоді так, ви жорстко кодуєте адресу. Якщо адреса колись зміниться, вам доведеться перекомпілювати програму.
Чи завжди адреси IPV6 динамічні?
Ні. І IPv4, і IPv6 дотримуються однакових загальних правил:
Від того, чи надає вам провайдер статичні або динамічні адреси, повністю залежить від того, який контракт ви підписуєте з ними (включаючи, який план ви обираєте тощо)
Для житлових та менших ділових зв'язків адреси присвоюється Інтернет-провайдером відповідно до політики провайдера. Ви можете отримати одну загальнодоступну IPv4-адресу або десяток, ви можете отримати IPv6 / 64 або a / 48, ці розподіли можуть бути статичними або можуть змінюватися щодня - все залежить від договору, який ви підписали з провайдером.
Як ви присвоюєте адреси своїм серверам та іншим комп'ютерам у вашій локальній мережі, повністю залежить від вас. Якщо ви хочете, щоб адреса пристрою залишалася статичною, ви можете це зробити.
Це правда, що динамічне призначення через SLAAC в IPv6 дещо частіше, ніж DHCP в IPv4. Однак "динамічний" не означає, що адреса зміниться. Дійсно, для IPv6 SLAAC той самий пристрій зазвичай продовжує обирати ту саму адресу назавжди.
Нарешті, ніщо не заважає вам вручну налаштувати фіксовану адресу для пристрою. Це абсолютно нормально в IPv6.
Або для переходу на мережу IPV6 мені потрібно отримати статичну адресу IPV6 для жорсткого коду до моєї програми?
У першу чергу не слід жорстко кодувати конкретні адреси у вашій програмі.
Напевно, я більше запитував про те, як уникнути жорсткого кодування адреси в програмі
Помістіть їх десь поза додатком. Два найпоширеніші методи:
використання DNS - тобто налаштування доменного імені для вказівки на ваш сервер;
забезпечення механізму конфігурації - наприклад, .ini файл або реєстр або щось інше повністю.
Я думаю, що мені потрібно буде отримати доменне ім'я ... а потім "жорсткий код" ім'я DNS IPV6 у своїй програмі
Так. Ви все ще щось жорстко кодуєте (ім'я домену), але принаймні ім'я домену набагато рідше зміниться - тоді як IP-адреса сервера може мати багато причин для зміни. (Наприклад, сервер може бути переміщений в інше місцеположення, або вся його мережа може бути реструктурована або переключена на інший провайдер.)
Хоча я б сказав, що не існує такого поняття, як "DNS IPv6 імена". Ім’я домену може позначатись одночасно і IPv4, і IPv6-адресами, і навіть може мати декілька адрес одного типу.
Добре написана програма спробує всі знайдені адреси (наприклад, за допомогою функції getaddrinfo ()). Це дозволяє йому працювати як в мережах IPv4, так і в IPv6, а також у змішаних.
www.google.com
), так і числові адреси. Тобто спочатку зробіть пошук DNS. Ваша ОС, яка б вона не була, має бібліотеки для цього.