Windows套接字,UDP和UDP应答不同的地址

问题描述

我有上Windows10 python3下UDP消息的问题。 所述UDP消息的命令/响应方案。

  • 例:CMD_TURN_ON_LIGHT_BULB,灯泡#4
  • 响应:RSP_TURN_ON_LIGHT_BULB,灯泡#4 - 行

我的本地Windows PC地址为:10.1.1.10

在所有情况下,这里的网络掩码都是 255.255.255.0

在远程设备具有2个网络地址。 有PC和远程设备之间的各个路由器。

设备地址(A)为10.2.2.10(并且是 “认路由”)。

设备地址(B)是10.3.3.10(它是一个备份接口)

案例 1:有效。

PC发送UDP到10.2.2.10(它使用 “SENDTO()”) 使用SENDTO所述远程设备响应于所述源地址()

在PC接收到该响应,并应用接收的响应。 所述PC具有未决/等待 “recvfrom的()”

情况2:这不工作

PC发送UDP到10.3.3.10(备份接口) 该远程设备的答复 - 然而 - 由于认路由规则,从10.2.2.10设备答复

在PC接收应答(I看到的Wireshark的应答/响应) PC有防火墙100%禁用 可是 - 应用程序没有从远程设备接收的UDP消息

任何建议吗

另一种说法:

  • 这个作品:发送到UPD地址(A),端口X - 从答复:A,口Y
  • 此失败:发送到UDP地址(B),端口X - 从答复:A,口Y

在第二种情况下,该数据包似乎要丢失的Windows的肠子...

内部

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)