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