登录
首页 >  Golang >  Go问答

如何在 Golang 中访问CMSG数据包的字段?

来源:stackoverflow

时间:2024-02-17 12:42:23 354浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《如何在 Golang 中访问CMSG数据包的字段?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我正在开发一个 Go 程序,该程序接收数据包并希望查看接收时间戳。

在 C 语言中,这可以通过设置 SO_TIMESTAMP/SO_TIMETAMPNS 套接字选项然后使用 CMSG 宏从控制消息缓冲区结构中提取数据来完成,

我在 Go 文档中搜索了执行此操作的方法,但没有成功。谁能给我指出一个可行的例子吗?


正确答案


你可以从UDPConn::ReadMsgUDP获取它们,辅助数据由于某种奇怪的原因被命名为“oob”,但它是带有控制消息的辅助通道。

您可以使用 x/sys/unix::Cmsghdr (https://pkg.go.dev/golang.org/x/sys/unix#Cmsghdr) 解析带有控制消息数据的 []byte

应该有更好的方法,但至少这不是“内部”背后的......

终于介绍完啦!小伙伴们,这篇关于《如何在 Golang 中访问CMSG数据包的字段?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>