Linux下MyIpAdd库的使用

一、MyIpAdd库简介

MyIpAdd库是一个纯C++库,可以用它获取我们的公网IP地址。其github地址为:https://github.com/felmur/MyIpAdd

二、下载编译MyIpAdd源码

https://github.com/felmur/MyIpAdd 下载MyIpAdd源码:

解压,进入源码目录,可以看到其目录结构如下:

编译:

bash 复制代码
cmake . -DCMAKE_INSTALL_PREFIX=$(pwd)/install
make
make install

然后源码目录下会生成MyIpAdd的库文件libMyIpAdd.so

三、MyIpAdd的使用例子

以C++为例,编写一个使用示例。main.cpp内容如下:

cpp 复制代码
#include <iostream>
#include <myipadd.h>

using namespace std;

int main()
{
    MyIpAdd * m = new MyIpAdd();

    cout << "My public ip address is: '" << m->ip << "'" << endl;

    return 0;
}

编译:

bash 复制代码
g++ main.cpp -o main -g -IXXX/MyIpAdd-master -LXXX/MyIpAdd-master -lMyIpAdd

运行,效果如下。可以看到本机的公网ip被成功打印出来了:

该ip和通过百度查询到的公网ip一致:

相关推荐
悠悠1213833 分钟前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck2 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商2 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484812 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS3 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿3 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog4 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞4 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲4 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz4 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试