UdpServer активность от проекта, загруженного из Web и Mainacitivity составляет от проекта я создал. Проблема, когда я пошагово код ds.receive
внутри runUdpServer
на один UdpServer activity
работает ОК, он ждет данных прийти.Одда, разный результат для того же функции в другом проекте
Однако ds.receive
внутри MainActivity(my created project)
, когда я ступаю ds.receive
сразу перейти к ошибкам, наконец, блок (неспособный для поиска исходной проблемы) и освобожден.
Почему 2 разных поведения для одного и того же пирса кодов. Я не знаю, какие скрытые свойства внутри загруженной версии Операция UdpServer, которая позволяет ей успешно работать, а моя сбой -.
public class UdpServer extends Activity {
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
runUdpServer();
}
private void runUdpServer() {
String lText;
byte[] lMsg = new byte[1500];
DatagramPacket dp = new DatagramPacket(lMsg, lMsg.length);
DatagramSocket ds = null;
try {
ds = new DatagramSocket(11112);
ds.setBroadcast(true);
//disable timeout for testing
ds.setSoTimeout(100000);
ds.receive(dp);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ds != null) {
ds.close();
}
}
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
runUdpServer();
}
private void runUdpServer() {
String lText;
byte[] lMsg = new byte[1500];
DatagramPacket dp = new DatagramPacket(lMsg, lMsg.length);
DatagramSocket ds = null;
try {
ds = new DatagramSocket(11112);
ds.setBroadcast(true);
//disable timeout for testing
ds.setSoTimeout(100000);
ds.receive(dp);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ds != null) {
ds.close();
}
}
}