关于Socket网络编程粘包问题的思考

  首先,必须说明的是,粘包问题并不是源于通信协议TCP,TCP是基于连接的安全的协议,不会出现所谓的粘包问题,但这也只是对于流式传输是这样的。但我们需要不定长的分段数据包时,粘包问题就出现了。因此粘包问题是源自于我们的需求,而不是TCP。

  解决粘包问题,明确来说,就是解决数据定界问题。我简单想到了以下方案:

  1. 自定义数据格式,如用特定字符表示包的结束,但是这样需要对每一个字符进行判断,显然效率不高;可以用xml语言格式发送数据,用正则匹配判断是否正确接受。在包头放数据包的一些重要信息,如包长等。
  2.  
posted @   SandaiYoung  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示