go - 在接收UDP时获取本地IP地址

标签 go

我想在接收UDP数据包时获取本地IP地址。

packetConn, _ := net.ListenPacket("udp", ":12345")
n, remoteAddr, _ := packetConn.ReadFrom(buf)
我的服务器有辅助IP地址,我想知道每个客户端将UDP数据包发送到哪个地址。packetConn.ReadFrom可以获取远程IP地址,但是我想获取UDP的本地IP地址。
我尝试了packetConn.LocalAddr(),但这只返回本地端口号,例如:12345
如何获取UDP报文的本地IP地址?

最佳答案

LocalAddr有效地返回传递给 address ListenPacket值。如果这还不够具体,则需要创建多个侦听器,每个侦听器用于服务器上的每个IP地址。

关于go - 在接收UDP时获取本地IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62571314/

相关文章:

rest - 带有查询参数的golang Chi路由器不起作用

go - 为什么我的结构中的变量不保持其值?

go - 获取字符集字符串的编码器/解码器

networking - 如何在 net.Conn 上执行非阻塞写入?

struct - 如何检查空结构?

go - Golang 存储库的正确结构

mongodb - 在 GO 中将类型从结构表转换为 base.FixedDataGrid

json - 解码字符串和整数的 slice

api - 如何找出 Go 标准库函数的可能错误值?

go - Kubernetes 集群中只有 1 个 pod 处理所有请求