【问题标题】:socket returns -1 (errno 97) very seldomsocket 很少返回 -1 (errno 97)
【发布时间】:2012-02-28 07:52:11
【问题描述】:

我正在运行一个尝试以下代码的 c++ 程序:

socket(PF_INET6, SOCK_DGRAM, 0)

但是上面偶尔会返回-1(可能在超过 3000 次运行中返回 1 次)并且 errno 显示:

Errno 97: Address family not supported by protocol

这怎么可能?运行这条线应该一遍又一遍地产生相同的结果吗?

【问题讨论】:

  • 是否有可能机器上有多个接口(LAN、Wi-Fi),只有部分支持IPv6,而你偶尔会在它们之间切换?

标签: c++ linux sockets udp errno


【解决方案1】:

当尝试将套接字绑定或连接到多播地址时也会发生这种情况。

【讨论】:

    【解决方案2】:

    @Asaf 好主意,我假设我的代码有问题,而不是运行它的机器。

    所以我开始调查机器(在测试环境中),结果发现其中一台机器配置不正确,所以它总是在那台机器上失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      • 2023-04-06
      相关资源
      最近更新 更多