Ruby - 平台独立的方式来确定所有网络接口(interface)的 IPs?

标签 ruby interface networking ip-address

在 Ruby 中有没有一种简单的方法可以让我获取所有网络接口(interface)的 IP 地址列表?它需要在 Linux/Win/OSX 中工作,我宁愿不必解析 ifconfig/ipconfig,除非我绝对必须这样做。

最佳答案

从 Ruby 2.1 开始,Socket#getifaddrs 可用:

001:0> require 'socket'
=> true
002:0> Socket.getifaddrs.map { |i| i.addr.ip_address if i.addr.ipv4? }.compact
=> ["127.0.0.1", "192.168.1.121", "192.168.1.181"]

关于Ruby - 平台独立的方式来确定所有网络接口(interface)的 IPs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2452060/

相关文章:

java - onClick 从MainActivity 调用接口(interface)方法

c# - 如何设置备用 DNS 服务器?

java - Android 应用程序启动套接字不工作

ruby-on-rails - 如何创建一个新对象,给它传递一些参数,然后保存它

ruby - 访问具有多个值的散列 ruby

javascript - 如何让基本泛型类型知道 TypeScript 中的子泛型?

VB.NET 强制继承多代

ruby-on-rails - 如何更改 ActiveScaffold "actions"的显示顺序?

ruby-on-rails - 对象属性的 ruby 计数

networking - 参与 p2p 文件共享项目的最佳资源