Встречается на собеседованиях • сегодня
Как избежать пропажу пакета при отправке данных
В Java для надежной передачи данных используйте TCP вместо UDP, так как TCP гарантирует доставку. Для UDP реализуйте подтверждение получения (ACK) и повторную отправку при таймауте.
Пример с TCP:
java
try (Socket socket = new Socket("host", port);
OutputStream out = socket.getOutputStream()) {
out.write(data);
} catch (IOException e) {
// Обработка ошибки
}Для UDP с подтверждением:
java
DatagramSocket socket = new DatagramSocket();
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
socket.send(packet);
// Ждем ACK
socket.setSoTimeout(1000);
try {
socket.receive(new DatagramPacket(buffer, buffer.length));
} catch (SocketTimeoutException e) {
// Повторная отправка
}Дополнительные меры:
- Контрольные суммы для проверки целостности
- Уникальные идентификаторы пакетов
- Очередь отправки с повторами

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы