Java 通过ip发送数据在本地ip有效,而在internet ip无效

Java 通过ip发送数据在本地ip有效,而在internet ip无效,java,networking,Java,Networking,我使用下面的代码通过网络发送数据,我在本地网络上工作,但是当我给出接收设备的internet ip时,它不工作。表示未收到任何数据,且未给出任何异常 InetAddress inet=InetAddress.getByName("46.209.243.22"); DatagramSocket socket=new DatagramSocket(); DatagramPacket packect=new DatagramPacket("ali".getBytes(), 3, inet, 400);

我使用下面的代码通过网络发送数据,我在本地网络上工作,但是当我给出接收设备的internet ip时,它不工作。表示未收到任何数据,且未给出任何异常

InetAddress inet=InetAddress.getByName("46.209.243.22");
DatagramSocket socket=new DatagramSocket();
DatagramPacket packect=new DatagramPacket("ali".getBytes(), 3, inet, 400);
socket.send(packect);

有什么问题,我如何解决?

请刷新此页面,这不是android问题。请确保接收端的NAT没有占用您的流量。46.209.243.22可能是一个路由器,并在其后面分配了您的本地IP地址。如果您的端口未转发到正确的本地IP,您将无法连接到计算机。