我目前在Contiki上实现了Telos bmote中的第一个应用程序,并遇到了问题。Contiki IPv4 UDP广播数据包不发送
对于我的应用程序(它利用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数据包到广播地址,即使用全部地址发送给网络上的所有设备。但是我发现发送设备只会将消息转发到网关节点(如果它存在于网络中)。
确切地说你在问什么不是很清楚 – maguirre
是的,你是对的,对不起。我从原来的问题中修改了它,因为我再次排查了一些问题,发现问题在其他地方。但是在我试图提出这个新问题时,我忘了提出这个问题,我很傻。谢谢 –