go语言中如何把数字转换成字节切片并在网络中传输

客户端:

先把数字转换成uint32类型:

var pkgLen = uint32(len(data))

再定义一个字节切片:

var buf = make([]byte, 4)

最后通过encoding.binary包中的方法,把无符号数字装载到字节切片中:

binary.BigEndian.PutUint32(buf[0:4], pkgLen)

这样就可以在网络中发送数字了:

conn.Write(buf)

服务端:

解析的时候

//读取数据
conn.Read(buffer[:4])

//把读取到的字节切片转换成无符号的32位整数
len32 := binary.BigEndian.Uint32(buffer[0:4])

//把32位无符号数字转换成整数
pkgLen = int(len32)

 

posted @ 2023-04-19 09:54  ppjj  阅读(103)  评论(0)    收藏  举报