首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang将gopacket udpLayer转换为字节并发送

Golang将gopacket udpLayer转换为字节并发送
EN

Stack Overflow用户
提问于 2017-10-26 18:02:17
回答 1查看 718关注 0票数 0

我正在使用gopacket/layers api从数据包中提取upd数据,然后再通过另一个udp流发送数据,我不确定我这样做是否正确,是否也出现了一些错误,如果有人能指出正确的方向,这将是我的代码。

代码语言:javascript
复制
conn, err := net.Dial("udp", 1.1.1.1)

udp, _ := updpLayer.(*layers.UDP)

/*now if i send it like this*/

conn.Write(udp)
/*i get the errors: cannot use udp (type *layers.UDP) as type []byte in argument to conn.Write*/

/*I tried to convert to bytes using unsafe*/

con := *(*[unsafe.Sizeof(udp)]byte)(unsafe.Pointer(&udp))

/* I get cannot use conv (type [8]byte) as type []byte in argument to conn.Write */

/* I used ecoding/gob, but is it sending it as a byte stream?*/

encoder := gob.NewEncoder(conn)
encoder.Encode(udp) //or Encode(udp)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-27 11:18:58

updpLayer并不直接表示数据,因此试图将其转换为字节是毫无意义的。改为阅读 field

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46960943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档