人生处万类,知识最为贤。这篇文章主要讲述调试Android 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
更改为随机的,我会在我的断点调试器中获取DatagramSocket对象,值isConnected =true
【调试Android UDP监听】顺便说一下,我无法在下面发现任何错误。如果我在以下
s.receive(p);
区块中记录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);
}
问题与使用
connect
and有关,因此将模拟器放在服务器而不是监听器的位置推荐阅读
- 覆盖其他配置中的资源 - Android studio
- Java Applet在IE8中不起作用
- 在snappy生成的pdf文件中显示图像
- 通过相对路径获取Twig文件,然后将其包含在app文件夹中的base.html.twig中
- 当Dapper不是对象时,如何使用Dapper正确声明SQL更新请求中的变量()
- Sharepoint Approval Work Catch批准按钮
- Android(清除活动堆栈)
- 如何在Android中再次设置布尔值true()
- SQLite with Foreign Key + Models Android Studio CRUD