gpt4 book ai didi

go - 读取可接受数据中的特定字节数

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

我有一个二进制数据包,但包的长度是它的前 4 个字节。有没有正确的方法来读取长度,然后在 GoLang 中使用 net.Conn 读取整个包?

最佳答案

尝试使用这个:

主要包

进口( “编码/二进制” “我”)

func ReadPacket(r io.Reader) ([]byte, error) {
lenB := make([]byte, 4)

if _, err := r.Read(lenB); err != nil {
return nil, err
}

//you can use BigEndian depending on the proto
l := binary.LittleEndian.Uint32(lenB)

packet := make([]byte, l)

_, err := r.Read(packet)

return packet, err
}

关于go - 读取可接受数据中的特定字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51056058/

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