开发者社区 问答 正文

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 4540 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • IT从业

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

    2019-07-17 19:53:46 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等