完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
有谁知道IGMP_Join后发送数据包需要什么
似乎在加入IGMP组后,数据包不再通过UDP发送。 在下面的示例中,第一个数据包总是被发送出去,但第二个数据包不会被发送出去。 提前致谢!! 静态整ICACHE_FLASH_ATTR igmp_join(uint32_t ip) { if( ip ) { ip_addr_t ipgroup; int ret; ipaddr_aton(MULtiCAST_ADDR, & ipgroup); os_printf("IGMP Joining: %08x %08x, " , ip, ipgroup.addr); espconn_sendto(&HTTPUDPptrespconn, UDPResponse, os_strlen(UDPResponse)); //Send Back Answer ret = espconn_igmp_join( (ip_addr_t *) & ip, & ipgroup); //At this point SendTo stops espconn_sendto(&HTTPUDPptrespconn, UDPResponse, os_strlen(UDPResponse)); //Send Back Answer if (ret != 0) { os_printf( " failed, code %dn " , ret); } else { os_printf( " joinedn " ); } return 0; } os_printf( " Failed to obtain current IPn " ); return 1; } |
|
相关推荐
1个回答
|
|
|
在解释为什么加入IGMP组后,数据包不再通过UDP发送之前,我们首先需要了解一些基本概念。
IGMP(Internet Group Management Protocol,互联网组管理协议)是一种用于管理主机组成员的协议。它允许主机加入或离开多播组,以便接收特定多播组的数据包。多播是一种网络传输方式,允许一个数据包同时发送给多个接收者。 UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的传输层协议,它允许应用程序在不需要建立连接的情况下发送数据包。 现在我们来分析你的问题。在加入IGMP组之后,数据包不再通过UDP发送的原因可能有以下几点: 1. 加入IGMP组后,数据包的传输方式可能已经从单播(unicast)或广播(broadcast)变为多播(multicast)。在这种情况下,数据包不再通过UDP发送,而是通过多播传输。 2. 在你的示例代码中,`igmp_join` 函数用于将主机加入到一个多播组。但是,这个函数本身并不负责发送数据包。数据包的发送应该在其他部分的代码中实现。因此,如果第二个数据包没有被发送出去,可能是因为发送数据包的代码没有正确执行。 3. 如果你希望在加入IGMP组后继续使用UDP发送数据包,你需要确保在发送数据包时使用正确的目标IP地址和端口。在多播环境中,你可能需要使用特定的多播地址和端口,而不是单播地址。 为了解决你的问题,你可以尝试以下步骤: 1. 确保在加入IGMP组后,发送数据包的代码仍然正确执行。检查是否有任何条件或逻辑错误导致第二个数据包没有被发送。 2. 如果你希望在多播环境中继续使用UDP发送数据包,请确保使用正确的多播地址和端口。你可以在发送数据包之前,将单播地址替换为多播地址。 3. 如果问题仍然存在,检查网络环境和配置,确保多播数据包可以正确地在网络中传输。 希望这些信息能帮助你解决问题。如果还有其他问题,请随时提问。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
468 浏览 0 评论
984 浏览 0 评论
1707 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1364 浏览 1 评论
1253 浏览 1 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1286浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
943浏览 3评论
2378浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2565浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1071浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 05:52 , Processed in 0.773492 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2852
