Android UDP超时无响应

时间:2011-09-16 10:47:32

标签: android udp

当我在android模拟器中执行此代码时

dataByte = new byte[1024];
ds = new DatagramSocket();
ds.setSoTimeout(3000);
dp = new DatagramPacket(dataByte, dataByte.length);
ds.connect(InetAddress.getByName(params[0]), Integer.valueOf(params[1]));
dp.setData("remdroid_test".getBytes());
ds.setSoTimeout(3000);
ds.receive(dp);

导致没有回应,我该怎么办?

欢迎使用Android测试udp连接的替代建议。

1 个答案:

答案 0 :(得分:0)

如果您在Activity中执行此代码,那么您将阻止UI线程。如果您阻止用户界面太长时间,Android将强制关闭您的应用程序。

一种解决方案是使用AsyncTask。最好的选择可能是在服务中的线程上运行它。