Создание объекта IPAddress из беззнакового целого числа

Если я создаю объект IPAddress, используя десятичный IP-адрес, он выглядит обратным. Что я делаю не так? См. примеры кода ниже.

IPAddress addressOne(192,168,50,1);
Serial.print(addressOne);                // ==> печатает "192.168.50.1"

// Десятичная версия 192.168.50.1 — 3232248321
unsigned int iAddress = 3232248321;
IPAddress addressTwo(iAddress);
Serial.print(addressTwo);                // ==> печатает "1.50.168.192";

, 👍-1


1 ответ


0

Вы только что узнали, что этот конструктор IPAddress интерпретирует параметр в порядке с прямым порядком байтов. Затем закодируйте свой адрес как обратный порядок байтов:

//Десятичная версия 192.168.50.1 — 20097216
unsigned int iAddress = 20097216;
,

Ух ты! Я только что узнал кое-что! Спасибо!, @dbarck2000