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