硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4546|回复: 9
收起左侧

[RL-TCPnet] 请问,RL-TCPnet如何实现组播功能

[复制链接]

2

主题

70

回帖

76

积分

初级会员

积分
76
发表于 2019-2-18 12:05:07 | 显示全部楼层 |阅读模式
请教硬汉有没有组播的例子可以参考一下?
之前通过配置UDP,可以收发数据,但是想配置组播功能,但是没有成功,不知什么原因。想找个例子还参照一下。还有就是给出的教程,组播还与MAC地址有关系,那要怎么设置?

在配置文件“Net_Config_ETH_0.h”
//   <s.17>MAC Address
//   <i>Ethernet MAC Address in text representation
//   <i>Value FF-FF-FF-FF-FF-FF is not allowed,
//   <i>LSB of first byte must be 0 (an ethernet Multicast bit).
//   <i>Default: "1E-30-6C-A2-45-5E"
#define ETH0_MAC_ADDR           "1E-30-6C-A2-45-5E"

怎么感觉和文档说的不一样,是不是我理解错了

TIM截图20190218120233.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2019-2-18 12:07:47 | 显示全部楼层
没用过组播,只用过广播。


111.jpg

回复

使用道具 举报

2

主题

70

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2019-2-18 12:10:40 | 显示全部楼层
eric2013 发表于 2019-2-18 12:07
没用过组播,只用过广播。

直译不是说,第一个字节的最低位必须为“0”?那我要是想组播就得设置为“1”。然后就有问题了,打印出来说MAC设置出错
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2019-2-18 12:25:54 | 显示全部楼层
sup999 发表于 2019-2-18 12:10
直译不是说,第一个字节的最低位必须为“0”?那我要是想组播就得设置为“1”。然后就有问题了,打印出来 ...

是有这个问题,具体我没有研究过。
//   <h>MAC Address
//   ==============
//   <i> Local Ethernet MAC Address
//   <i> Value FF:FF:FF:FF:FF:FF is not allowed.
//   <i> It is an ethernet Broadcast MAC address.
//     <o>Address byte 1 <0x00-0xff:2>
//     <i> LSB is an ethernet Multicast bit.  Must be 0 for local MAC address.
//     <i> Default: 0x00

回复

使用道具 举报

2

主题

70

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2019-2-25 23:57:51 | 显示全部楼层
换个路由器解决了
多播的MAC地址可以通过多播IP地址转换,所以“LSB is an ethernet Multicast bit.  Must be 0 for local MAC address.”可能是协议栈内部处理了
回复

使用道具 举报

2

主题

70

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2019-2-26 00:02:20 | 显示全部楼层
TIM截图20190225235856.png

又有一个新问题“tunneling ”
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2019-2-26 00:07:50 | 显示全部楼层
sup999 发表于 2019-2-26 00:02
又有一个新问题“tunneling ”

度娘上的资料不少,学习下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2019-2-26 00:08:22 | 显示全部楼层
sup999 发表于 2019-2-25 23:57
换个路由器解决了。
多播的MAC地址可以通过多播IP地址转换,所以“LSB is an ethernet Multicast bit.   ...

竟然是路由器不支持
回复

使用道具 举报

2

主题

51

回帖

57

积分

初级会员

积分
57
发表于 2020-4-6 00:57:32 | 显示全部楼层
老铁,你好,我目前也在尝试使用RL-Tcpnet实现组播功能,遇到了一个问题。对于路由器发送IGMP V3版的组播查询Query,设备不能做出回应,已导致被路由器踢出组播,不知老铁遇到没有,如何解决,或者你知道这个协议中有主动发送组播成员关系报告的函数吗,谢谢
回复

使用道具 举报

2

主题

51

回帖

57

积分

初级会员

积分
57
发表于 2020-4-30 11:05:54 | 显示全部楼层
设备的物理地址只能是单播地址,不能是组播物理地址和广播物理地址,设备发送的数据在网络接口层需要组播的物理地址,此时设备会通过数据包的组播目的IP计算出组播的MAC地址,放入以太网帧头,再发送到物理网络中。还有,有些路由器确实不支持组播,TP-Link就是
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 15:20 , Processed in 0.188220 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表