开发者社区> 问答> 正文

linux socket can通信,接收端收到的帧包乱序问题,急!

linux socket can通信,接收端收到的帧包乱序问题,急!CAN网络设计为1个主机(linux平台)8个从机(STM32裸跑),目前在主机上遇到一个偶尔出现的问题:主机在应用层收到从机发来的CAN帧有乱序的情况(只是帧乱序,每个帧内的字节没有乱序)。举个例子:假设某个从机先发A、再发B这个两个帧,主机在应用层调用read函数却是先读到B帧、再读到A帧。已经排查过的结论:1、从机发送出来的帧没有乱序。2、由于linux下CAN设备被封装为网络设备,驱动层就是标准的网络设备驱动的写法:在接受函数中把收到的

展开
收起
杨冬芳 2016-07-08 18:20:31 4459 0
1 条回答
写回答
取消 提交回答
  • IT从业

    Socket UDP 确实存在乱序的可能,这个传输时选择网络路径相关。TCP 不会有这样的问题。

    2019-07-17 19:53:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载