есть ли способ получить номер IP от gethostname()
?
Мы случайным образом генерируем IP-адреса для компьютеров в лаборатории, в которой мы находимся. Мы используем gethostbyname(<random ip>)
для получения IP-адреса компьютера.
По сути, мы хотим сравнить ip, который мы получаем от gethostbyname (), с тем, что мы получаем от gethostname ().
Мы пытались:
struct hostent* host;
char temp[MAX_LEN];
gethostname(temp, MAX_LEN);
host = gethostbyname(<random ip address>)
if(host->h_name == temp) printf("They are the same\n");
Проблема в том, что host-> h_name имеет значение '172.125.45.1' (я сделал это
вверх), а температура равна 'u-my_comp'
поэтому мы не можем сравнивать строки, потому что одна дает нам имя компьютера (u-my_comp), а другая - ip ...
Есть ли способ заставить эти функции возвращать одинаковые значения?
мы пытались сделать что-то вроде
gethostname(temp, 24)
temp_host = gethostbyname(temp)
в надежде, что теперь мы сможем сравнить temp_host-> h_name с host-> h_name ... но да, это тоже не сработало.
Есть идеи?
спасибо!