Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
218 views
in Technique[技术] by (71.8m points)

c - CAN Bus - handle multiple CAN Bus sockets

I am attempting to read/write to multiple CAN Bus sockets on a device out of the same thread. However, I am only getting RX messages when I write to the boards that are supposed to be on can1 when I write to can0's file descriptor.

I am thinking it is due to how the interface indices are bound. The ifr_ifindex is 0 for both sockets I have opened.

ioctl(s, SIOCGIFINDEX, &ifr);

addr.can_ifindex = ifr.ifr_ifindex;

bind(s, (struct sockaddr*)&addr, sizeof(addr));

What is the proper procedure for handling multiple CAN sockets when determining or setting the interface index using ioctl?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...