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 @   ppjj  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-04-19 mybatis中设置打印sql语句application.yml
2019-04-19 mysql插入报主键冲突,解决方法主键索引重新排序
2018-04-19 js中的url地址用function函数调用
2018-04-19 js弹出window.open窗口
2018-04-19 style弹出带滚动条的虚拟窗口
2018-04-19 spring通过配置xml文件集成quartz定时器
2017-04-19 mysql执行计划
点击右上角即可分享
微信分享提示