Программирование сокетов UDP не работает для Android 6.0 (API 23)

Я использую программирование сокетов UDP для отправки данных с Android-устройства на Raspberry Pi3. Я создал горячую точку в raspberry pi вручную и подключил Android Mobile к raspberry pi. Я могу отправлять данные на уровне API 19, используя приведенный ниже код, но если я использую тот же код для уровня API 23, то он не работает. Пожалуйста, помогите мне в этом....

DatagramSocket udpServerSocket= null;
    try
            {
                udpServerSocket = new DatagramSocket(4446);

            }
            catch (SocketException e) {
                e.printStackTrace();
            }

            byte [] sendResponse = String.valueOf(SendValue).getBytes();

            DatagramPacket sendPacket = null;
            try {

                sendPacket = new DatagramPacket(sendResponse, sendResponse.length, InetAddress.getByName("192.168.42.1"), 4446);

            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
            if (udpServerSocket != null) {
                try {
                  udpServerSocket.send(sendPacket);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }   



   logCat:
   12-07 09:33:48.038 12982-12982/com.lear.wifi_datatransfer W/System.err: Caused by: android.system.ErrnoException: bind failed: EADDRINUSE (Address already in use)
   12-07 09:33:48.039 12982-12982/com.lear.wifi_datatransfer W/System.err:     at libcore.io.Posix.bind(Native Method)
   12-07 09:33:48.039 12982-12982/com.lear.wifi_datatransfer W/System.err:     at libcore.io.ForwardingOs.bind(ForwardingOs.java:56)
   12-07 09:33:48.039 12982-12982/com.lear.wifi_datatransfer W/System.err:     at libcore.io.IoBridge.bind(IoBridge.java:97)
   12-07 09:33:48.039 12982-12982/com.lear.wifi_datatransfer W/System.err:  ... 62 more
   12-07 09:33:48.104 12982-12982/com.lear.wifi_datatransfer W/System.err: java.net.BindException: bind failed: EADDRINUSE (Address already in use)
   12-07 09:33:48.105 12982-12982/com.lear.wifi_datatransfer W/System.err:     at libcore.io.IoBridge.bind(IoBridge.java:99)
   12-07 09:33:48.105 12982-12982/com.lear.wifi_datatransfer W/System.err:     at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:60)
   12-07 09:33:48.105 12982-12982/com.lear.wifi_datatransfer W/System.err:     at java.net.DatagramSocket.createSocket(DatagramSocket.java:159)
   12-07 09:33:48.105 12982-12982/com.lear.wifi_datatransfer W/System.err:     at java.net.DatagramSocket.<init>(DatagramSocket.java:80)
   12-07 09:33:48.105 12982-12982/com.lear.wifi_datatransfer W/System.err:     at com.lear.wifi_datatransfer.MainActivity$1.onProgressChanged(MainActivity.java:78)

person Kishor    schedule 07.12.2016    source источник
comment
Я пробовал решение, предоставленное по ссылке выше, но оно не работает, и вопрос касается уровня API 23. Почему сокет UDP не работает в Android 6.0.   -  person Kishor    schedule 07.12.2016
comment
Я тоже столкнулся с такой же проблемой, как вы ее решили?   -  person Vignesh    schedule 12.12.2019