【发布时间】:2013-07-30 01:10:05
【问题描述】:
我目前正在 Contiki 在 Telos bmote 上实现我的第一个应用程序,但遇到了问题。
对于我的应用程序(使用 uIP IPv4 堆栈),我需要能够向所有节点广播消息。
我查看了源代码,发现在 uip_over_mesh.c 中发现数据包是针对外部网络的,然后被发送到网络上的网关节点,而不是分发到所有节点。如果不存在网关节点,它只会丢弃数据包。 所以事实上,数据包不是被广播到网络中的所有节点,而是被丢弃或被发送到网关节点和外部网络。
我的问题是我需要它向网络中的其他节点广播(应该如此),是我遗漏了一个步骤还是我做错了什么?
谢谢:)
附言这是获取要发送的消息的粗略代码。
struct uip_udp_conn *udp_conn = udp_broadcast_new(UIP_HTONS(5001), state);
udp_bind(udp_conn,UIP_HTONS(5001));
uip_udp_packet_send(udp_conn, "hello",5);
抱歉,我的问题似乎不太清楚。为了澄清我想要做的是将 IPv4 UDP 数据包发送到广播地址,即使用 allones 地址发送到网络上的所有设备。但是我发现发送设备只会将消息转发到网络上存在的网关节点。
【问题讨论】:
-
不太清楚你在问什么
-
是的,你是对的,很抱歉。当我排除更多故障并发现问题出在其他地方时,我已根据原始问题对其进行了修改。但是在我试图提出新问题时,我忘了提出这个问题,我很傻。谢谢
标签: contiki