我试图从节点A发送UPD数据包到节点B,两个节点都通过不同的路由器连接到互联网。当它们连接在同一网络上时,我能够在它们之间发送(和接收)UDP数据包,通过给本地目标IP地址(192.168..)和端口号,就可以在它们之间发送(和接收UDP数据包。
现在我用www.whatismyip.com 找到节点B的动态IP地址,并将其视为w.x.y.z,当我从A向这个目的地发送数据包时,我无法在B处接收它们。我还在两台路由器上设置了端口转发。
这对我来说是完全陌生的。当我想向连接在另一个网络上的节点发送数据包时,是否还需要做其他的事情?请大家帮忙!
我可以建议检查一下。
你不能在B处收到这些数据包的原因是,如果你没有在netfilter的表中建立连接,NAT会过滤所有的信息。解决这个问题的方法是使用UPNP或NAT-PMP这样的端口映射。这样一来,目的节点的特定端口就会接收到来自WLAN的任何消息,并将其发送到这个节点。但这需要你的路由器支持这些协议,如果不支持,也许你需要使用ICE作为一个真正的服务器来实现。