boost asio iostream-如何获取本地IP地址

Dar*_*rix 6 c++ ip boost local boost-asio

这是我的问题:我正在使用boost :: asio :: ip :: tcp :: iostream连接到服务器:

boost::asio::ip::tcp::iostream s(IP, "1237");
Run Code Online (Sandbox Code Playgroud)

现在,我想检索自己的本地IP地址。我发现在google的深处某处如何使用套接字来实现,但是流又如何呢?我希望由于tcp :: iostream建立在套接字的顶部,因此应该类似于:s.local_endpoint()。address(),但是在与google和duckduckgo进行了长时间搜索之后,我不知道该怎么做。我尝试了几种最明显的排列方式,但还是没有运气。那么,有什么简单的方法可以做到这一点,还是我必须使用套接字?如果重要的话,它只能在Linux上运行。

Sam*_*ler 1

假设使用 Linux,用于getifaddrs(3)获取本地系统的接口列表。