我正在尝试理解IPv4 socket和IPv6 socket Linux内核的实现。
inet_create()和inet6_create()这两种方法看起来非常相似。它们都可以返回到用户空间EPROTONOSUPPORT或ESOCKTNOSUPPORT,我想知道在什么情况下会发生这种情况。
发布于 2018-08-16 22:09:22
ESOCKTNOSUPPORT表示所选协议不支持套接字类型。例如,您不能使用IPPROTO_IP创建SOCK_SEQPACKET。根据ip(7) man page,只有SOCK_STREAM、SOCK_DGRAM和SOCK_RAW是ip的有效套接字类型。
EPROTONOSUPPORT表示不支持所选的套接字协议。例如,如果您请求AF_INET6,而系统管理员已通过将模块列入黑名单禁用了IPv6。
https://stackoverflow.com/questions/51878003
复制相似问题