前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 ># TCP粘包

# TCP粘包

作者头像
用户1175783
发布2019-09-10 11:38:59
7520
发布2019-09-10 11:38:59
举报
文章被收录于专栏:用户1175783的专栏

# TCP粘包

# Socket通信-TCP粘包

# 什么是TCP粘包

当前消息与前一个后/后一个消息的片段一起发送到了客户端。

# 为什么会粘包

  1. 操作系统为了优化传输速度会将小包合并发送,大包拆分发送的情况。
  2. 由于网卡传输接口大小的限制。

# 解决办法

# 1. 固定长度分割

每次发送固定长度的消息,长度不足时补0。

# 2. 分隔符分割

使用分隔符分割消息,比如:\r\r\n@@$$等,定义一个特殊的字符用来分割消息。

# 3. 自定义消息头分割

消息开头固定n个字节用来记录消息的长度。

# 总结

tcp通信时常见的难点就在于粘包的处理,只要掌握常用的处理办法就可以轻松驾驭tcp了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # TCP粘包
  • # Socket通信-TCP粘包
    • # 什么是TCP粘包
      • # 为什么会粘包
        • # 解决办法
          • # 1. 固定长度分割
          • # 2. 分隔符分割
          • # 3. 自定义消息头分割
        • # 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档