Java(Android)中用于从X-Plane 12获取数据的UDP客户端

Java(Android)中用于从X-Plane 12获取数据的UDP客户端,java,android,udp,Java,Android,Udp,我尝试用Java从X-Plane12读取UDP流。 这就是我所尝试的: public class EchoClient { @Test public void echo() throws IOException { DatagramSocket socket; InetAddress address; byte[] buf; socket = new DatagramSocket(); address = InetAddress.getByName("l

我尝试用Java从X-Plane12读取UDP流。 这就是我所尝试的:

public class EchoClient {
@Test
public void echo() throws IOException {
    DatagramSocket socket;
    InetAddress address;

    byte[] buf;
    socket = new DatagramSocket();
    address = InetAddress.getByName("localhost");
    String msg = "TEST";
    buf = msg.getBytes();
    DatagramPacket packet
            = new DatagramPacket(buf, buf.length, address, 49000);
    socket.send(packet);
    packet = new DatagramPacket(buf, buf.length);
    System.out.println("hi there");
    while(true) {
        socket.receive(packet); // it "stops" here... without an error 
        String received = new String(
                packet.getData(), 0, packet.getLength());
        System.out.println(received);
    }
}}

X-Plane正在运行,UDP选项已激活-但我的程序不会在控制台上打印任何内容。。它将永远运行(如果是真的)

接收被阻止并等待接收数据包。你早些时候发送的数据包掉在地板上,因为没有人在听

接收被阻止,正在等待接收数据包。你早些时候发送的数据包掉在地板上,因为没有人在听

为什么它被封锁了?X-Plane正在运行,其UDP套接字在端口49000上运行-数据包是否已丢弃?哦,别把durka durk扔了!问题出在哪里?发送发生在接收之前。没有人可以派去。尝试将侦听while循环放入一个新线程,该线程在调用socket.send()之前已初始化。为什么它会被阻止?X-Plane正在运行,其UDP套接字在端口49000上运行-数据包是否已丢弃?哦,别把durka durk扔了!问题出在哪里?发送发生在接收之前。没有人可以派去。尝试将侦听while循环放入一个新线程中,该线程在调用socket.send()之前初始化