完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在每次调用 espconn_send() 之前,应重新设置远程 ip 和远程端口的目的是什么? 如果我们只将它用于一对一的重复 UDP 通信,它仍然是必须的吗?
首先,我们通过打印调试发现,如果我们在初始化期间设置remote_ip并remote_port一次,则在每次重复调用此函数之前,remote_ip和remote_port永远不会更改。即使在发送方从第三个网络节点到同一本地端口接收另一个 UDP 数据包期间,remote_port和remote_ip仍然保持不变。因此,remote_ip和remote_port的集合似乎没有必要。我们的测试似乎表明,如果我们不设置remote_ip并在不更改目标接收器时remote_port espconn_sent的每次调用,则不会失败。 那么,这种必须的实际目的或场景是什么?如您所知,如果我们必须遵循这个必须,我们必须分配额外的静态变量来包含 remote_ip 和 remote_port,它们实际上已经在 escconn 的变量中,这可能会引入占用空间或潜在的逻辑复杂性,尤其是在我们实现多链路应用程序时。 有任何错误或遗漏,请指出。 |
|
相关推荐
1个回答
|
|
在每次调用 espconn_send 之前重新设置远程 IP 和端口的目的主要有以下几点:
1. **确保目标正确性**:在网络通信中,尤其是在使用 UDP 协议时,IP 地址和端口号是确定目标设备的关键信息。重新设置这些信息可以确保数据包发送到正确的目标。 2. **适应网络变化**:网络环境可能会发生变化,例如设备的 IP 地址可能会因为 DHCP 重新分配而改变。重新设置 IP 和端口可以确保即使在网络环境发生变化的情况下,数据包仍然能够发送到正确的目标。 3. **多目标通信**:在某些应用场景中,可能需要向多个不同的目标发送数据。在这种情况下,重新设置远程 IP 和端口是必要的,以确保数据包发送到正确的目标。 然而,在一对一的重复 UDP 通信中,如果远程 IP 和端口在初始化期间已经设置正确,并且在通信过程中不会发生变化,那么在每次调用 espconn_send 之前重新设置这些信息可能并不是严格必要的。但是,考虑到以下几点,重新设置仍然有一定的好处: 1. **代码健壮性**:即使在一对一通信中,重新设置远程 IP 和端口可以提高代码的健壮性,防止因为意外情况导致通信失败。 2. **易于维护和扩展**:在开发过程中,保持代码的一致性和可读性是很重要的。重新设置远程 IP 和端口可以使代码更容易维护和扩展,例如在将来需要支持多目标通信时。 3. **防止缓存问题**:在某些情况下,如果不重新设置远程 IP 和端口,可能会导致缓存问题,从而影响通信的准确性。 综上所述,虽然在一对一的重复 UDP 通信中,重新设置远程 IP 和端口可能不是绝对必要的,但为了提高代码的健壮性、可维护性和可扩展性,以及防止潜在的缓存问题,建议在每次调用 espconn_send 之前重新设置这些信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
429浏览 6评论
362浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
343浏览 5评论
349浏览 4评论
327浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 07:44 , Processed in 0.596312 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191