严格来说-你别无选择,只能调用hostname
(1)或-在Unix上gethostname
(2)。这是您的计算机的名称。任何通过这样的IP地址确定主机名的尝试
有一个叫做“伦敦”的大城市(服务器)。城墙内有很多生意。这个城市有几个门(IP地址)。每个门都有一个名字(“北门”、“河门”、“南安普敦门”……)但门的名字不是城市的名字。此外,您不能通过使用门的名称来推断城市的名称-“北门”会覆盖一半的大城市,而不仅仅是一个城市。但是-一个陌生人(IP数据包)沿着河边走,问一个当地人:“我有一个奇怪的地址:’Rivergate,第二个左,第三个房子’。你能帮我吗?”当地人说:“当然,你走对了路,只要往前走,半小时内就能到达目的地。”
好消息是:通常不需要真正的主机名。在大多数情况下,在该主机上解析为IP地址的任何名称都可以。(陌生人可能会从Northgate进入城市,但乐于助人的当地人会翻译“左二”部分。)
在其余极端情况下,您必须使用此配置设置的最终来源-即C函数gethostname
(2)。该函数也被程序调用hostname。