向各位大侠们请教一下关于W5500芯片UDP发送报文到不同IP的问题!
威廉希尔官方网站
板上的DSP通过SPI配置W5500,建立了3个socket,采用UDP点对点模式通过交换机向3台电脑(3个IP地址)发送同样的报文,每个socket每秒发送1次。问题描述如下:
1、3个电脑都连接网线时,接收UDP报文均正常;
2、只有2个电脑连接网线时,每秒时,期望每台电脑只收到1组报文,但实际测试时一台电脑收到1组报文,另一台电脑收到2组报文;
3、只有1个电脑连接网线时,每秒时,期望该电脑只收到1组报文,但实际测试时该电脑收到3组报文。不经过交换机时,也是同样的现象。
问题归纳:
1、W5500向3个IP发UDP报文,无论所连接电脑是1台、2台或3台,所收到的总报文数始终是3组,只是这3组报文会分配到已连接网线电脑上;
2、连接电脑1台或2台时,从每秒3组报文的时标可以看出,有1组报文是上一秒的,有2组报文是本次的。
疑问:
1、我之前理解的是:UDP发送报文时只需设置目的IP和目的端口就行了,未连接的IP被直接忽略,报文丢掉,而不应该发送到另外的IP上去?
2、是否需要实时去查询已连接的IP,确认连接的可发送,未连接的就不发送。如果如此,该如何实现?
3、W5500的强制ARP是否与此有关?
谢谢!