小潘杂谈

tcp长连接分包有几种方法?

字号+ 作者:admin 来源:seo博客 2020-09-16 16:20 我要评论( )

tcp长连接分包的四种方法:1.消息长度固定2.使用特殊的字符串作为消息边界。比如http协议的headers以“rn”为字段的分隔符3.在每条消息的头部加一个长度字段。这是......

tcp长连接分包有几种方法?

tcp长连接分包的四种方法:1.消息长度固定2.使用特殊的字符串作为消息边界。比如http协议的headers以“rn”为字段的分隔符3.在每条消息的头部加一个长度字段。这是最常见的4.利用消息本身的格式来分包。比如xml中的<root></root>的配对等

说一下在头部加消息长度字段分包的方法假如每条消息有一个4字节的头部,存放字符串的长度。比如消息“hello”,字节流为0x00,0x00,0x00,0x05,‘h’,'e','l','l','o'写一段伪代码展示分包:void OnMessage(){while(接收缓冲buf可读字节>=头部长度4){len = 包的长度if(len>65536 or len<0){关闭连接}else if(buf>=len+4){从buf中提取出4字节;message=将buf后的len长度内存赋给messagemessagecallback(message)调用用户代码处理message从buf中移除len长度}else{不够一个包的长度,等待下次消息到来,break;}}}以上就是tcp长连接分包有几种方法?的详细内容,更多请关注小潘博客其它相关文章!

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。转载请注明seohttp://www.hkxiaopan.com

网友点评
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
精彩导读