有谁知道如何连接到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访问服务器。
感谢。
答案 0 :(得分: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
答案 1 :(得分:0)
根据gen_tcp
模块的手册页,connect/3-4
的第一个参数应为inet:socket_address()
或inet:hostname()
的类型。
尝试使用This类型的形式。
答案 2 :(得分:0)
代替(0,0,0,0,0,0,0,1}。我们还可以使用您自己的IPv6地址。 使用 inet:parse_address(“您的IP地址”)。