向另一个网络中的节点发送UDP数据包。

问题描述 投票:1回答:2

我试图从节点A发送UPD数据包到节点B,两个节点都通过不同的路由器连接到互联网。当它们连接在同一网络上时,我能够在它们之间发送(和接收)UDP数据包,通过给本地目标IP地址(192.168..)和端口号,就可以在它们之间发送(和接收UDP数据包。

现在我用www.whatismyip.com 找到节点B的动态IP地址,并将其视为w.x.y.z,当我从A向这个目的地发送数据包时,我无法在B处接收它们。我还在两台路由器上设置了端口转发。

这对我来说是完全陌生的。当我想向连接在另一个网络上的节点发送数据包时,是否还需要做其他的事情?请大家帮忙!

networking udp ip portforwarding packets
2个回答
0
投票

我可以建议检查一下。

  • 两个路由器的端口转发是否都配置了UDP协议?
  • 如果你ping远程地址w.x.y.z,你会收到响应吗?(检查路由器是否配置了这样的功能)
  • 也请确认是否有防火墙阻挡了从互联网到达的UDP数据包(在路由器或目标机器上)。

0
投票

你不能在B处收到这些数据包的原因是,如果你没有在netfilter的表中建立连接,NAT会过滤所有的信息。解决这个问题的方法是使用UPNP或NAT-PMP这样的端口映射。这样一来,目的节点的特定端口就会接收到来自WLAN的任何消息,并将其发送到这个节点。但这需要你的路由器支持这些协议,如果不支持,也许你需要使用ICE作为一个真正的服务器来实现。

© www.soinside.com 2019 - 2024. All rights reserved.