Предоставляет ли Java какой-либо способ обнаружения поврежденных сегментов UDP? - PullRequest
0 голосов
/ 10 ноября 2019

Итак, я делаю простую сетевую игру, в которой я буду использовать сегменты UDP.

У меня есть пара вопросов:

  1. Обнаруживает ли Java или предоставляетзначит знать, что сегмент поврежден?
  2. Если нет, как я могу проверить, поврежден ли сегмент?

1 Ответ

3 голосов
/ 10 ноября 2019

Java сама по себе не имеет ничего общего для обнаружения поврежденного сегмента UDP. UDP имеет (необязательную) контрольную сумму, которая проверяется ОС, и любые сегменты, в которых контрольная сумма неверна, будут отброшены и не будут доставлены приложению в первую очередь. В случае UDP это означает, что такой сегмент просто теряется с точки зрения приложения. Обратите внимание, что это не обнаружит каждую возможную ошибку, а только более распространенные, такие как однобитный переворот.

Если приложению требуется больше, чем это, оно должно быть явно реализовано на уровне приложения, например, с помощьюHMAC.

...