首页 > 解决方案 > 它在正常模式下退出 while 但不在调试中

问题描述

当我在调试模式下运行此方法时,它工作正常,但是当我在正常模式下运行它时,它只会在一段时间内循环一次,然后停止......

@Override
protected Void doInBackground(Void... voidResult){
    while (true) {
        byte[] data = new byte[1024];


        DatagramPacket packet = new DatagramPacket(data, 0, data.length);

        Log.d("Debug", "in try");
        while (true) {
            try {
                Log.d("Debug", "in try");
                udpConnector.UDPSocket.receive(packet);
                break;
            } catch (Exception e) {

                e.printStackTrace();
               // if (!isListen) {} // implement your business logic here
            }
        }
        data = packet.getData();
        Log.d("Debug", "Message reçu");
        String s = new String(data, 0, packet.getLength());

        //publishProgress(s);
        udpConnector.main.handleTextReceived(s);
        // handle the packet received
    }
}

此方法是扩展 AsynchronousTask 的 UDPListener 的一部分。我用它来检查服务器是否正在发送数据。

由于什么可能的原因,一种方法会在调试模式下工作但不能正常工作?

如果您需要更多信息,请询问我。

标签: javaudplistener

解决方案


推荐阅读