当前位置: 首页 > 面试题库 >

在Golang中本地发送UDPv6

郑高驰
2023-03-14
问题内容

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

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(...)

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


问题答案:

在这两种情况下(链路本地和接口本地多播),您都忘记了指定作用域ID。没有这个,就不可能确定要使用哪个接口,并且您会Invalid argument从操作系统中得到一个错误。

net.UDPAddr使用该Zone字段存储范围ID。您需要通过Zone显式设置或使用百分比后缀表示法来确保已提供了一个。



 类似资料:
  • 问题内容: 我想通过本地托管的php代码发送电子邮件。 运行此代码时,出现以下错误: 我进入文件,它似乎已经配置好。 我怎样才能解决这个问题 ? 谢谢 问题答案: 它被配置为用于邮件服务器。 错误消息表明它无法连接到。 因此,您有两个选择: 在本地主机端口25上安装/正确配置SMTP服务器 更改配置以指向 可以 连接到的其他一些SMTP服务器

  • 1.配送方式选择了本地配送,但显示不支持本地配送是什么原因? 当选择了本地配送方式后,需要在系统【后台设置->配送设置】,找到本地配送,添加本地配送地区。

  • 第一步,在系统后台设置->配送设置,找到本地配送,添加本地配送地区。 第二步,设置配送的运费,起送消费金额,起送配送费用。设置配送时间(配送时间可单独设置上午或下午,若起始时间与结束时间均未设置,则默认为该时间段不提供配送服务)、优惠配送金额等。 第三步,添加本地配送人员。 第四步,买家在前台下单时选择本地配送,提交订单后,商家发货,在后台选择配送人员进行配送。

  • 此函数创建sockaddr_in6: 基本上,如果地址是IPv4地址,我会在它前面加上,并将该族设置为af_inet。 这有可能做到。如果是,我做错了什么?

  • 问题内容: 我正在iOS中制作一个应用程序,它将在计时器上发送本地通知。当应用程序处于后台状态时,它可以正常工作,但是在终止并完全关闭时,它无法工作。 无论如何,是否仍会在发生这种情况时发送本地通知? 提前致谢。 问题答案: 当然,如果您安排了本地通知,即使您终止应用程序,它也会触发。 …对我来说就像是一种魅力。

  • 问题内容: 我正在Windows上使用WampServer来测试站点。我有一个注册系统,用户会收到一封确认电子邮件。 是否可以从本地主机发送电子邮件? 问题答案: 如果要直接从本地主机发送电子邮件,则需要安装邮件传输代理(MTA),或者安装SMTP服务。 IIS提供了一个。否则,您可以在Google上找到其他人。 您也可以更改 邮件设置。这将不使用每条说来发送电子邮件,而是用于允许您从PHP脚本发