我的问题:使用 net.Read... 方法仅复制给定字节数组或切片大小的字节数。当然,我不想每次都分配最大 64 kB 的 UDP 数据报。
有没有go
如何确定数据报的大小(位于数据报头中)或再次读取直到数据报完全读取?
Try 从UDP读取 http://golang.org/pkg/net/#UDPConn.ReadFromUDP:
func (c *UDPConn) ReadFromUDP(b []byte) (n int, addr *UDPAddr, err error)
ReadFromUDP 从 c 读取 UDP 数据包,将有效负载复制到 b。它返回复制到 b 中的字节数以及数据包上的返回地址。
数据包大小应可从n
,然后您可以使用它来定义自定义切片(或其他数据结构)来存储数据报。这依赖于数据报大小在会话期间不改变,而实际上不应该改变。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)