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

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

  1. 自定义数据格式,如用特定字符表示包的结束,但是这样需要对每一个字符进行判断,显然效率不高;可以用xml语言格式发送数据,用正则匹配判断是否正确接受。在包头放数据包的一些重要信息,如包长等。
  2.  
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。