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