【发布时间】:2021-06-28 18:52:57
【问题描述】:
我需要在主机的同一端口上的不同 IP 上打开两个 DTLS 套接字。 使用 :gen_udp 和 {:reuseaddr, true} 可以正常工作。 但不是 :ssl.listen
您可以使用以下命令重现它:
sudo ip addr add ::2 dev lo
然后在iex中
:ssl.start
{:ok, socket} = :ssl.listen(20_100, [
:binary,
:inet6,
{:active, true},
{:reuseaddr, true},
{:protocol, :dtls},
{:ip, {0, 0, 0, 0, 0, 0, 0, 1}}
])
{:ok, socket2} = :ssl.listen(20_100, [
:binary,
:inet6,
{:active, true},
{:reuseaddr, true},
{:protocol, :dtls},
{:ip, {0, 0, 0, 0, 0, 0, 0, 2}}
])
最后一个 :ssl.listen 不会匹配 {:error, :already_listening}
如何使用 :ssl.listen 和 :reuseaddr 选项在主机的同一端口上的不同 IP 地址上启动两个 DTLS 套接字?
【问题讨论】: