- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在我的 Mac 上调用 gethostname() 时,有时它返回“george”,有时它返回“George.local”。我可以更改什么以使其始终返回相同的内容? (我不在乎哪个;我只希望它保持一致。)
背景:我在运行 10.6 的 Mac 上使用 Unison (www.cis.upenn.edu/~bcpierce/unison/index.html)。 Unison 使用多种事物的组合(其中之一是主机名)来命名保存先前结果的文件。当 gethostname() 返回的字符串发生变化时,Unison 找不到之前的文件。这会导致各种不愉快的行为。
当我最初配置系统时,我将共享控制面板中的名称设置为“George”。目前,当我使用 hostname 命令时,它返回“george”。前几天用Unison的时候,Unison用的是“George.local”这个名字。在过去的几个月里,我多次看到 Unison 出现这种行为。
这段时间我改变了很多东西;我不知道哪个(如果有的话)可能很重要。
1) 我在笔记本电脑上执行此操作。在不同的时间,它连接到不同的路由器,有时根本没有连接。
2) 我可能多次升级过 OS X 版本。对于当前问题,我确定我确实升级了(从 10.6.6 到 10.6.7)。对于以前出现的情况,我不记得了。
3) 有时我使用 Airport 连接,有时使用电缆连接。
谁能阐明 gethostname() 可能在做什么以及为什么它可能返回不同的字符串?
谢谢,帕特
(2011 年 5 月 1 日更新)问题似乎是 OS X 和我的 AT&T DSL 服务的 2Wire 路由器之间的不良交互。当我在没有连接到网络的情况下启动时,主机名返回“George.local”,这是我在共享控制面板中设置的。使用以太网或 AirPort 连接到路由器后,主机名现在返回“george”。
在那个特定的路由器中是否有一些配置选项来控制它?
我的 Verizon FIOS 路由器或 Verizon DSL 都没有发生这种情况。我不记得那些路由器的品牌,但 2Wire 都不是。
最佳答案
我提供一个不同的选择怎么样? gethostbyname() 实际上是一个较旧的 API,实际上不是当前推荐使用的 API。当前推荐使用的 API 是 getaddrinfo(),它已经标准化并且几乎无处不在。您应该考虑改用它!
关于macos - 如何在 OS X 上从 gethostname() 获得一致的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5523307/
我是一名优秀的程序员,十分优秀!