我正在尝试将 UDP 数据包发送到 NAT 后面的设备。使用第 3 方程序可以毫无问题地将数据包发送到此设备,并且数据包可以很好地显示在 Wireshark 中。
使用我自己的 UDP 客户端向设备发送数据包不起作用...但是如果设备向我发送数据包,在 onReceive() 方法中,在此方法中直接发送回设备确实有效...但是有趣的是,如果我使用 EndPoint 并使用新的 UDP 客户端连接到它,那么它就不再工作了。
似乎只有当设备连接到我时,我才能向下游发送消息(如 TCP 中的反向连接),甚至将 EndPoint 作为对“连接”的引用是不够的。
谁能想到我不能直接发送到设备的原因,即使我知道可以这样做,因为 3rd 方软件可以做到这一点?
直接发送到其他 IP,比如我的本地计算机也可以,只是我无法联系到这个设备。我的本地计算机位于 192.168.10.2 之类的地址上,而设备位于 12.0.1.5 之类的地址上(连接后它会创建自己的 LAN)
非常感谢