Я использую программирование сокетов 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)