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?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…