当我在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连接的替代建议。
答案 0 :(得分:0)
如果您在Activity中执行此代码,那么您将阻止UI线程。如果您阻止用户界面太长时间,Android将强制关闭您的应用程序。
一种解决方案是使用AsyncTask。最好的选择可能是在服务中的线程上运行它。