0

有谁知道如何连接到 ipv6 tcp 服务器地址。以下尝试但不起作用。

{ok, Socket} = gen_tcp:connect("2a01:488:67:1000:253d:cd31:0:1", 5000, [{active, false},inet6]).
{error,enetunreach}

和这个

{ok, Socket} = gen_tcp:connect("[2a01:488:67:1000:253d:cd31:0:1]", 5000, [{active, false},inet6]).
{error,nxdomain}

虽然可以通过 IPv4 访问服务器。

谢谢。

4

3 回答 3

1

在外壳 A 上:

$erl

{ok, LSocket} = gen_tcp:listen(12345, [binary, {packet, line}, {active, true}, {reuseaddr, true}, inet6, {ip, {0,0,0,0,0,0,0,1}}]).

在外壳 B 上进行测试:

$telnet ::1 12345
于 2020-06-28T10:36:39.593 回答
0

根据gen_tcp模块的手册页,第一个参数connect/3-4应该是inet:socket_address()or类型inet:hostname()
尝试使用这种形式的类型。

于 2017-06-21T18:31:12.590 回答
0

而不是 (0,0,0,0,0,0,0,1}。我们也可以使用您自己的 IPv6 地址。使用inet:parse_address("your IP address")。

于 2020-06-28T17:53:56.280 回答