gethostname на машине с несколькими сетевыми интерфейсами - PullRequest
1 голос
/ 01 марта 2011

Что системный вызов gethostname вернет на машине с несколькими сетевыми интерфейсами?Можно ли настроить это на уровне ОС?

Ответы [ 3 ]

4 голосов
/ 01 марта 2011

Количество сетевых интерфейсов, используемых для подключения машины к миру, более или менее не зависит от количества имен хостов.У вас может быть несколько интерфейсов с одним именем (хотя это несколько необычно) или несколько имен с одним интерфейсом (значительно чаще).

Что касается значения, которое он возвращает, MSDN говорит:

f функция gethostname используется на ресурсе кластера в Windows Server 2008, Windows Server 2003 или Windows 2000 Server, и переменная среды _CLUSTER_NETWORK_NAME_ определена, затем значение в этой переменной среды переопределяет фактическое имя хоста и возвращается,На ресурсе кластера переменная среды _CLUSTER_NETWORK_NAME_ содержит имя кластера.

Функция gethostname запрашивает поставщиков пространства имен, чтобы определить имя локального хоста, используя GUID SVCID_HOSTNAME, определенный в заголовочном файле Svgguid.h.Если ни один провайдер пространства имен не отвечает, то функция gethostname возвращает NetBIOS-имя локального компьютера.

Таким образом, обычно это вопрос конфигурации DNS, но для члена кластера вы можете установитьпеременная окружения.

0 голосов
/ 01 марта 2011

http://beej.us/guide/bgnet/output/html/multipage/gethostnameman.html

будет одно имя хоста -> корневое имя

0 голосов
/ 01 марта 2011

Имя хоста хранится на уровне ОС. Неважно, сколько сетевых карт есть на вашем компьютере, оно будет одинаковым для всех из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...