思路:假如发送100个student数据,每个student都是一个struct,则每个student发送的字符串包含两部分:1、json格式化student字符串 2、json字符串的长度,这个长度用大端保存
func getSendBody(stu *student) []byte { bytes, e := json.Marshal(stu) if e != nil { panic(e.Error()) } fmt.Println("len(bytes)==", len(bytes)) buf := new(bytes2.Buffer) bytes2 := make([]byte, 4) binary.BigEndian.PutUint32(bytes2, uint32(len(bytes))) buf.Write(bytes2) buf.Write(bytes) return buf.Bytes() }
注意:先保存长度字符串,然后保存json字符串