首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用套接字模块*和*设置ipv6_v6only?

如何使用套接字模块*和*设置ipv6_v6only?
EN

Stack Overflow用户
提问于 2022-05-06 09:29:41
回答 1查看 90关注 0票数 0

我用Socket模块和version: 6创建了一个UDP套接字。我希望它只听IPv6 (默认情况下,version: 6同时监听v4和v6)。Erlang的inet模块有一个ipv6_v6only选项,但我不知道在使用Elixir的Socket模块时如何使用。在调用:inet.setopts/2之后调用Socket.UDP.open/2总是生成一个{:error, :einval}。有代码示例吗?

(我知道我可以通过在Linux上调优net.ipv6.bindv6only sysctl来实现这一点,但是我更喜欢不需要根用户的解决方案。)

EN

回答 1

Stack Overflow用户

发布于 2022-05-06 11:49:16

Socket.UDP.open/2被有效地路由到:gen_udp.open/2,后者接受open_option()类型的关键字作为第二个参数,这反过来又是一个扩展类型option()

与以下几点一起使用

代码语言:javascript
复制
Socket.UDP.socket(port, version: 6)

从我上面链接的arguments/1实现可以很容易地看出这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72139197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档