Этот вопрос почти такой же, как ранее запрошенный Получить IP-адрес локального компьютера -Question. Однако мне нужно найти IP-адрес Linux Machine.
Итак: как я - программно в С++ - обнаруживает IP-адреса сервера linux, на котором работает мое приложение. У серверов будет как минимум два IP-адреса, и мне нужен конкретный (тот, который указан в данной сети (общедоступный)).
Я уверен, что для этого есть простая функция, но где?
Чтобы сделать вещи более ясными:
- На сервере, очевидно, будет "localhost": 127.0.0.1
- Сервер будет иметь внутренний (управляющий) IP-адрес: 172.16.x.x
- Сервер будет иметь внешний (общедоступный) IP-адрес: 80.190.x.x
Мне нужно найти внешний IP-адрес для привязки моего приложения к нему. Очевидно, я могу также привязываться к INADDR_ANY (и фактически тому, что я делаю в данный момент). Я бы предпочел обнаружить публичный адрес.