当前位置: 代码迷 >> Wireless >> 串口接收TCP数据异常,请高手指教
  详细解决方案

串口接收TCP数据异常,请高手指教

热度:10347   发布时间:2013-02-26 00:00:00.0
串口接收TCP数据错误,请高手指教
大家好!最近遇到一个问题,有时候TCP接收到一串数据
  7E 21 45 00 00 28 6B 54 40 00 FD 06 25 60 
  0A 00 00 AC 
  0A B8 D7 B7 
  00 50 1F F5 
  29 30 D1 F0 
  00 00 E9 7D 
  5D  
  50 10 0E A2 AF 33 00 00 5D 9B 7E 

  多了一个5D(有时候也会多一个5E)而且出现的位置不是固定的。
按协议里面TCP的报文头是固定不变的,怎么会接多一个数据。请问这是TCP的协议还是串口出现干扰现象呢?

谢谢。

------解决方案--------------------------------------------------------
你可以跟一下,确认一下。
包括ip报文头 option都是可变的。
tcp报文头,前20个字节应该是固定的(具体查一下),后面的选项可有可无 变长的。

这也是 ipv4一个缺点。

------解决方案--------------------------------------------------------
同学,你理解错了,7D 5D 代表 转义字符 7D 。PPP层是有转义的。如7D 5E 代表 7E。在报文内出现特殊字符里,需要转义。
  相关解决方案