22次发布
| 0.6.1 | 2024年2月25日 | 
|---|---|
| 0.5.7 | 2024年1月20日 | 
| 0.5.6 | 2023年9月27日 | 
| 0.5.4 | 2023年7月27日 | 
| 0.4.2 | 2021年7月14日 | 
在网络编程中排名13
每月下载量280,530
在127个crates(93个直接)中使用
54KB
 1K  SLoC
local-ip-address
在Linux、Windows、macOS(及其他基于BSD的系统)上检索系统的本地IP地址和网络接口/适配器。
用法
通过执行local_ip函数获取您的系统的本地IP地址
use local_ip_address::local_ip;
fn main() {
    let my_local_ip = local_ip().unwrap();
    println!("This is my local IP address: {:?}", my_local_ip);
}
通过执行list_afinet_netifas函数检索来自AF_INET和AF_INET6族的所有可用网络接口
use local_ip_address::list_afinet_netifas;
fn main() {
    let network_interfaces = list_afinet_netifas().unwrap();
    for (name, ip) in network_interfaces.iter() {
        println!("{}:\t{:?}", name, ip);
    }
}
检索网络接口或本地IP地址的底层方法可能根据运行的操作系统而有所不同。
| 操作系统 | 方法 | 
|---|---|
| Linux | 建立Netlink套接字交换以检索网络接口 | 
| 基于BSD | 使用 getifaddrs检索网络接口 | 
| Windows | 消耗Win32 API检索网络适配器表 | 
操作系统支持
当前支持的平台包括
- Linux(需要至少v0.1.0);
- macOS(需要至少v0.1.0);
- Windows(需要至少v0.3.0);
- 其他基于BSD(需要至少v0.5.0);包括- FreeBSD
- OpenBSD
- NetBSD
- DragonFly
 
请注意,我们仅在macOS和FreeBSD上测试了此库的BSD实现,假设其他基于BSD的系统会有类似的行为。如果您在使用此库的其他基于BSD的系统时遇到任何问题,请创建一个问题。
发布
为了创建一个发布,您必须按照以下方式推送Git标签
git tag -a <version> -m <message>
示例
git tag -a v0.1.0 -m "First release"
标签必须遵循semver约定 标签必须以下划线字母
v开头。
然后按照以下方式推送标签
git push origin main --follow-tags
贡献
欢迎对这个项目的任何贡献。请随意发起一个pull request,一个问题,或者只是开始这个项目。
许可证
根据MIT许可证和Apache许可证(版本2.0)的条款进行分发
依赖
~0.3–13MB
~110K SLoC