Потеря пакета из-за переполнения буфера сокета считается потерей сети?
-
09-09-2020 - |
Вопрос
Если пакеты UDP упадут на хосте, потому что его буферы сокета заполнены, я должен учитывать, что это потеря сетей?Различие поможет мне решить, следует ли изучать реализацию повторной передачи на уровне приложений или увеличить размер буфера.
Я застрял с UDP, но мое приложение требуется для передачи пакетов в порядке без потери пакетов ...> _ << / P>
Решение
Если пакеты упадуют в сетевой стек, то вы можете рассмотреть его таким же образом, который вы учитываете потерю сетевой пакеты.
UDP не надежен.Вы можете не получать все пакеты, и они могут быть получены в другом порядке.Вам понадобится механизм в вашем приложении, чтобы справиться с этим в любом случае.
Другие советы
UDP ненадежна, поэтому, если вам нужна надежность, вы должны реализовать его самостоятельно;Неважно, куда упадут дейтаграммы, некоторые будут сброшены, а конечный результат одинаково.
Точно так же вы получите дублирующие дейтаграммы, и вы получите дейтаграммы в другой последовательности, когда вы отправили их.
Вам может быть заинтересован в ответах на этот вопрос: Что вы используете, когда вам нужен надежный UDP?