gpt4 book ai didi

go - 发送udp包时如何设置源端口

转载 作者:数据小太阳 更新时间:2023-10-29 03:08:36 24 4
gpt4 key购买 nike

在客户端,我想在发送udp包时设置UDP源端口。在服务器上,我想知道接收到的 UDP 源端口。

客户:

package main

import (
"net"
)

func main() {

s, err := net.ResolveUDPAddr("udp4", "127.0.0.1:1234")
c, err := net.DialUDP("udp4", nil, s)

if err != nil {
fmt.Println(err)
return
}
}

服务器:

package main

import (
"net"
"time"
)

func main() {

s, err := net.ResolveUDPAddr("udp4", "127.0.0.1:1234")
if err != nil {
fmt.Println(err)
return
}

connection, err := net.ListenUDP("udp4", s)
if err != nil {
fmt.Println(err)
return
}
}

在上面的客户端代码中,有没有办法让我设置源端口?在上面的服务器代码中,有没有办法让我知道使用的源端口?

最佳答案

https://golang.org/pkg/net/#DialUDP

func DialUDP(网络字符串, laddr, raddr *UDPAddr) (*UDPConn, error)

laddr 和 raddr 都使用 UDPAddr 结构,但您没有设置 laddr。

laddr, err := net.ResolveUDPAddr("udp", "<source_int>:50000")

raddr := net.UDPAddr{IP: net.ParseIP("<dest>"), Port: 50000}

conn, err := net.DialUDP("udp", laddr, &raddr)

关于go - 发送udp包时如何设置源端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56582699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com