代码之家  ›  专栏  ›  技术社区  ›  pevik Hudson

Linux内核IPv4和IPv6套接字创建:EPROTONOSUPPORT和ESOCKTNOSUPPORT错误

  •  1
  • pevik Hudson  · 技术社区  · 6 年前

    IPv4 socket IPv6 socket Linux内核实现。

    两种方法 inet_create() inet6_create() 看起来很相似。 它们都可以返回用户空间 EPROTONOSUPPORT ESOCKTNOSUPPORT ,我想知道在什么情况下会发生这种情况。

    1 回复  |  直到 6 年前
        1
  •  2
  •   pevik Hudson    6 年前

    ESOCKTNOSUPPORT 表示所选协议不支持套接字类型。例如,不能创建 SOCK_SEQPACKET 具有 IPPROTO_IP . 根据 ip(7) man page SOCK_STREAM , SOCK_DGRAM SOCK_RAW 是ip的有效套接字类型。

    EPROTONOSUPPORT AF_INET6 系统管理员通过将模块列入黑名单禁用了IPv6。