最好在依赖于网络的代码中使用IP地址或主机名

本文关键字:IP 地址 主机 依赖于 网络 代码 | 更新日期: 2023-09-27 17:50:32

如果你正在编写一个大量使用网络的应用程序(例如ping, dns解析等),在代码中使用IP地址(例如,如果在服务器上创建一个文件夹路径-//192.183.181.182/test/test1)还是主机名更好?

我假设IP地址,因为它们在企业中往往是静态的,主机名可以有一个IP地址的别名等。这是一个更喜欢IP地址的正当理由吗?

谢谢

最好在依赖于网络的代码中使用IP地址或主机名

使用硬编码IP地址的问题是,如果您需要更改它,您需要更改代码,而如果您使用主机名,如果您需要更改它,您可以更改主机名指向的位置,而无需触及代码:)

完全同意jcarlosn的上述观点,并将我作为网络基础设施人员的0.02美元投入其中…

作为一名网络工程师,我可以继续说很长一段时间,我看到人们错误地将IP硬编码到应用程序中,以及多年来发生的痛苦,因为公司不得不围绕最初假设的硬编码IP和某些特定设施中的子网来扭曲IT基础设施的增长。这对公司的运营和资本支出有影响。

还要考虑当应用程序部署在数百台pc上,现在已经成为你的公司和商业伙伴的关键业务时会发生什么。

请使用DNS名称,或者如果您觉得出于某些奇怪的原因必须使用ip…按照另一篇文章的建议,使用本地应用程序配置文件。请理解,配置文件不会改变企业停机时间,因为业务关键型应用程序可以迁移到新的IP地址。如果你的桌面人员很好,他们可能会重写一个应用程序配置文件,就像你可以迁移一个DNS名称一样快……如果您所在的公司在桌面部署部门没有真正的脚本技能,请重新考虑使用DNS,在该a记录上不超过30分钟的TTL。

两者都有合理的理由。多主机服务器在使用名称时可能会导致问题(正如您提到的),但是IP地址也不一定稳定-特别是在不使用保留的DHCP环境中(比您想象的更常见)。

如果是我,我会把路径/主机名/IP放在config-然后你可以改变任何需要而不重建代码。如果您自己在内部进行名称查找,只需确保您的代码为IP或主机名做好准备。

IPv4地址(32位地址)应该在2012年过时,(我想他们拍了一部关于地震和海啸的电影。)

已经没有新的IPv4地址可供出售。

新标准IPv6使用。更长的地址。

让用户决定,如果他/她有主机名,存储它。但是,主机名可以有多个IP地址。

如果用户提供了一个IP地址(v4或v6),保存它。

如果你得到q MAC地址,保存它。

解释用户的优点和缺点(例如名称更静态)