我正在维护一个 Ruby on Rails 应用程序,并且正在寻找一种简单的方法来查找我所在机器的主机名或 IP 地址(因为它是一个 VM,并且新实例可能有不同的主机名或 IP 地址) . 在 Ruby on Rails 中是否有一种快速简便的方法来做到这一点?
编辑:下面的答案是正确的,但克雷格提供的澄清很有用(另见答案中提供的链接):
[以下] 代码不会建立连接或发送任何数据包(到 64.233.187.99,即 google)。由于 UDP 是一个无状态协议,connect() 仅进行一个系统调用,它会根据地址以及它应该绑定到的接口(以及 IP 地址)来确定如何路由数据包。addr() 返回一个数组,其中包含套接字的族(AF_INET)、本地端口和本地地址(这是我们想要的)。