Java 调试Android UDP侦听
我想在我的Android仿真器中获取远程计算机在本地网络上发送的一些传入数据。所以首先,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
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有关,因此将仿真器置于服务器而不是侦听器的位置