每周一题——socket分包
来源:互联网 发布:淘宝男装免费代理 编辑:程序博客网 时间:2024/06/05 11:18
服务器使用socket流要向客户端发送多个包,包中的数据从0x00到0xff都有可能;
包在一个socket流中传输,socket能保证接收和发送的字节顺序相同,但是多个包在流中是连续传输的,接收方法可能会一次收到几个包的数据,需要把它们拆开;
请设计基于分隔符打包和解包的方法,注意避免包中的数据被误认为是分隔符,方法参考定义如下:
byte[] pack(List<byte[]> packages); //多个包变成一个流
List<byte[]> unpack(byte[] streamData); //从流中恢复多个包
为了区分不同的数据包,可以采用在包头带有包长度的办法,也可以在包之间插入分隔符,后者有什么优势?适合于什么情况?
包在一个socket流中传输,socket能保证接收和发送的字节顺序相同,但是多个包在流中是连续传输的,接收方法可能会一次收到几个包的数据,需要把它们拆开;
请设计基于分隔符打包和解包的方法,注意避免包中的数据被误认为是分隔符,方法参考定义如下:
byte[] pack(List<byte[]> packages); //多个包变成一个流
List<byte[]> unpack(byte[] streamData); //从流中恢复多个包
为了区分不同的数据包,可以采用在包头带有包长度的办法,也可以在包之间插入分隔符,后者有什么优势?适合于什么情况?
0 0
- 每周一题——socket分包
- 每周一题——坐标点范围查询
- 论坛特色——每周一问
- 每周笔记(一)——UML
- 每周一报—初探Flex
- hihoCoder每周一题
- 【每周一题】ACM2023
- 【每周一题】9、四则运算
- 【每周一题】16、常胜将军
- <1>每周一读</1>——《娱乐至死》
- <1>每周一读</1>——《疯狂程序员》
- 【每周一读】——你的孤独,虽败犹荣
- Socket 分包解包
- TCP Socket 分包办法
- 【每周一题】3、转换字符串格式
- 【每周一题】4、打印金字塔图案
- 【每周一题】5、数字组合
- 每周一题 23.统计年龄
- ABAP中用函数定义后台作业的一个程序
- Python学习系列(一)(基础入门)
- POJ 3832 Posters
- Matlab中fread函数用法
- JAVA 抽象类和接口
- 每周一题——socket分包
- SQL Server数据转换【包含Geometry类型】的技巧总结
- QGIS2.3.0 VS2008调试版编译记录
- matlab reshape使用
- jrtplib3.9.1 example2
- 阿里负责人揭秘面试潜规则
- JAVA获取路径问题
- eclipse在进行linux嵌入式开发时环境变量的设置问题
- codeforces 5E Bindian Signalizing