Я не могу получить пакет после отправки, используя следующий код.Самое странное, что он работал нормально, и ничего не изменилось, но теперь выдает исключение (java.net.SocketTimeoutException: Тайм-аут приема).
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try {
DatagramSocket socket = new DatagramSocket();
socket.setSoTimeout(5000);
InetAddress local = InetAddress.getByName("X.X.X.X");
byte[] sReceivedData = new byte[128];
String messageData = "Hello world!";
if (!messageData.contains("\r\n")) {
messageData = messageData.replace("\n", "\r\n");
}
byte[] data = messageData.getBytes("ASCII");
int msgLength = messageData.length();
DatagramPacket packet = new DatagramPacket(data, msgLength, local, 5343);
socket.send(packet);
DatagramPacket receivedPacket = new DatagramPacket(sReceivedData, sReceivedData.length);
socket.receive(receivedPacket);
int bytesReceived = socket.getReceiveBufferSize();
Log.e("bytesReceived: ", "" + bytesReceived);
} catch (IOException ex) {
Log.e("MainActivity", ex.getMessage());
}