【问题标题】:boost asio iostream - how to get local IP addressboost asio iostream - 如何获取本地IP地址
【发布时间】:2012-06-26 04:02:42
【问题描述】:

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

boost::asio::ip::tcp::iostream s(IP, "1237");

现在我想检索我自己的本地 IP 地址。我在谷歌深处的某个地方找到了如何使用socket,但是流呢? 我希望由于 tcp::iostream 是建立在套接字顶部的,它应该是这样的: s.local_endpoint().address() 但是经过谷歌和duckduckgo的长时间搜索后,我发现不知道该怎么做。我已经尝试了几个最明显的排列,但仍然没有运气。 那么,有什么简单的方法可以做到这一点,还是我必须使用套接字? 如果它很重要,它只需要在 Linux 上工作。

【问题讨论】:

  • 您似乎误以为主机只有一个IP地址。
  • 问题仍然有效:如何检索所有本地主机的IP地址?

标签: c++ boost ip boost-asio local


【解决方案1】:

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

【讨论】:

  • 我在你回答之前改变了应用程序的行为,所以我忘记了这个问题,但是是的,这就是答案:)
猜你喜欢
  • 2010-10-10
  • 2020-05-31
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
相关资源
最近更新 更多