嵌入式技术论坛
直播中

juju宇哥

9年用户 1474经验值
擅长:479809
私信 关注
[问答]

CAT1+以太网双网卡如何绑定组播到以太网口设备上呢?

我的设备上有两个网络接口, CAT1的模组做AT上行, 还有一个以太网口做本地管理口
我想mqtt协议走cat1的网络(设置为默认网卡), 组播走以太网口。
我发现在初始化完成后,组播的socket会绑定到cat1上, 我试着用
setsockopt(sockfd, SOL_SOCKET, SO_BINDTODEVICE, (char *) &nif, sizeof(nif));
强制绑定到以太网口上,结果提示socket不支持此参数。
我跟踪了一下代码,发现socket在构建的时候绑定到了 at_socket上,at_socket是不支持 SO_BINDTODEVICE参数的。

求教如何解决

回帖(3)

刘洋

2022-12-14 16:10:49
int lwip_setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen),试试这个
举报

juju宇哥

2022-12-14 16:11:02
不行。。。会返回错误

跟踪了一下,发现是sock->conn == NULL…不行。。。会返回错误

跟踪了一下,发现是sock->conn == NULL…
举报

juju宇哥

2022-12-14 16:11:11
谢谢, 我这里组播已经能正常收发了。。就是卡在指定网口上
举报

更多回帖

发帖
×
20
完善资料,
赚取积分