我已经在 LAN 中使用 Qt 建立了连接,PC1(192.168.1.195)将毫无问题地向 PC2(192.168.1.201)发送 UDP 数据包。
但现在,PC1 和 PC2 正在不同的路由器下工作。因此,现在 PC1 位于 (192.168.1.195),而 PC2 位于 (192.168.2.201)。我在路由器 1 上设置了端口转发,并将路由器 1 的 WAN 端口连接到路由器 2 的 LAN 端口。
然后我想从 PC1 向 PC2 发送 UDP,这个 UDP 数据包的目标地址应该填什么?192.168.2.201?
答案1
如果我正确理解了您的描述(标有以太网端口和 IP 地址的图表会有所帮助),则路由器 1 位于路由器 2 的下游(距离该网络的最终 WAN/Internet 连接较远)。如果正确的话,则 PC1 应该能够到达 192.168.2.201 处的 PC2,并且您甚至不需要路由器 1 中的静态端口转发规则,假设 PC1 始终启动 UDP 流。
答案2
我知道这不合逻辑,但对我来说确实有效,尝试将电缆从路由器 2 LAN 端口插入路由器 1 上的 LAN 端口。我知道您设置的方式很合理,但您实际上并不是将 LAN 插入 WAN,而是将 LAN 插入 LAN
另外,当您使用菊花链连接路由器时,请务必登录“下游”路由器,按照您的描述是 192.168.1.2?未连接到您的电缆或 DSL 调制解调器的路由器。
登录后关闭 wifi(或仔细注意设置)并尝试关闭 DHCP,因为 DHCP 由主路由器提供。
我曾见过这种菊花链连接导致线路末端速度受限的问题,在我的情况下,我的连接速度为 75Mbps,但线路末端只有 7mbp。
尝试 speedof.me 或其他速度测试网站,看看结果如何