Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调试Android UDP侦听_Java_Android_Sockets_Udp - Fatal编程技术网

Java 调试Android UDP侦听

Java 调试Android UDP侦听,java,android,sockets,udp,Java,Android,Sockets,Udp,我想在我的Android仿真器中获取远程计算机在本地网络上发送的一些传入数据。所以首先, InetAddress[] inetAddress = InetAddress.getAllByName(android_emulator_ip); s = new DatagramSocket(); s.connect(inetAddress[0], some_udp_port); 我让android_emulator_ip运行adb shell;ifconfig eth0。此IP是远程计算机使用的IP

我想在我的Android仿真器中获取远程计算机在本地网络上发送的一些传入数据。所以首先,

InetAddress[] inetAddress = InetAddress.getAllByName(android_emulator_ip);
s = new DatagramSocket();
s.connect(inetAddress[0], some_udp_port);
我让android_emulator_ip运行adb shell;ifconfig eth0。此IP是远程计算机使用的IP

奇怪的是,如果我将这个ip更改为随机ip,我会进入DatagramSocket对象的断点调试器,值isConnected=true

顺便说一下,我看不出下面的错误。如果我在s.receivep之后登录;在下面的try块中,它似乎不被读取

byte[] message = new byte[300];
DatagramPacket p = new DatagramPacket(message,message.length);
try{
    s.receive(p);
 }catch{...}

我用这种方式设置了一个超时

s = new DatagramSocket(some_udp_port);
s.setSoTimeout(3000);
然后这就奏效了

byte[] message = new byte[256];
DatagramPacket p = new DatagramPacket(message,message.length);
try{
    s.receive(p);
}
这个问题与使用connectand有关,因此将仿真器置于服务器而不是侦听器的位置