Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在golang本地发送UDPv6_Go_Udp_Ipv6 - Fatal编程技术网

在golang本地发送UDPv6

在golang本地发送UDPv6,go,udp,ipv6,Go,Udp,Ipv6,我需要发送一个UDPv6数据报,以便本地接收器(或通过tcpdump)跟踪此消息 与IPv4不同,此代码不适用于IPv6。例如,当我尝试将数据报发送到多播地址时,例如发送到[FF01::DB8:0:0]:5000,我会得到connect:invalid参数。当我尝试将其发送到[fe80::20c:29ff:fee1:d66]:5000(我的IPv6地址根据ifconfig)时也会发生同样的情况。在这两种情况下(链接本地和接口本地多播),您都忘记了指定作用域ID。如果没有这个,就无法确定要使用哪个

我需要发送一个UDPv6数据报,以便本地接收器(或通过
tcpdump
)跟踪此消息

与IPv4不同,此代码不适用于IPv6。例如,当我尝试将数据报发送到多播地址时,例如发送到[FF01::DB8:0:0]:5000,我会得到
connect:invalid参数。当我尝试将其发送到[fe80::20c:29ff:fee1:d66]:5000(我的IPv6地址根据
ifconfig
)时也会发生同样的情况。

在这两种情况下(链接本地和接口本地多播),您都忘记了指定作用域ID。如果没有这个,就无法确定要使用哪个接口,操作系统会出现
无效参数
错误

使用
区域
字段存储作用域ID。您需要通过显式设置
区域
或使用.

确保已提供一个。在这两种情况下(链接本地和接口本地多播),您都忘记了指定作用域ID。如果没有此项,则无法确定要使用的接口,操作系统会出现
无效参数
错误


使用
区域
字段存储作用域ID。您需要通过显式设置
区域
或使用。

谢谢!对于我的卡地址,我得到了
写:连接被拒绝
,对于一个(链接本地)多播地址,它可以正常工作。谢谢!对于我的卡地址,我得到了
写:连接被拒绝
,对于(链接本地)多播地址,它按预期工作。
daddr, err = net.ResolveUDPAddr("udp6", "[address]:port")
if err != nil {
    return err
}

conn, err := net.DialUDP("udp6", nil, daddr)
if err != nil {
    return err
}
defer conn.Close()

conn.Write(...)