Где дейтаграммы, если клиент не слушает порт UDP?

StackOverflow https://stackoverflow.com/questions/2311466

  •  22-09-2019
  •  | 
  •  

Вопрос

Предположим, что клиент отправляет на сервер ряд дейтаграмм через мое приложение. Если мое приложение на стороне сервера перестает работать и не может получать какие -либо дейтаграммы, но клиент по -прежнему продолжает отправлять больше граммов данных на сервер через протокол UDP, куда идут эти дейтаграммы? Будут ли они оставаться в буфере данных Сервера (или что -то в этом роде?)

Я задаю этот вопрос, потому что я хочу знать, что если клиент отправит 1000 дейтаграмм (1K каждый) на ПК через Интернет, пройдут ли эти 1000 дейтаграмм через Интернет (потребляя пропускную способность), даже если никто не слушает эти данные?

Если ответ - да, как мне остановить это? Я имею в виду, что если сервер перестает функционировать, как мне использовать UDP, чтобы узнать факт и остановить дальнейшую отправку?

Спасибо

Это было полезно?

Решение

Я задаю этот вопрос, потому что я хочу знать, что если клиент отправит 1000 дейтаграмм (1K каждый) на ПК через Интернет, пройдут ли эти 1000 дейтаграмм через Интернет (потребляя пропускную способность), даже если никто не слушает эти данные?

Да

Если ответ - да, как мне остановить это? Я имею в виду, что если сервер перестает функционировать, как мне использовать UDP, чтобы узнать факт и остановить дальнейшую отправку?

Вам нужен цикл управления уровнем протокола, т. Е. Вам нужно реализовать протокол, чтобы позаботиться об этой ситуации. UDP не ориентирован на соединение, поэтому он зависит от «приложения», которое использует UDP для учета этого режима сбоя.

Другие советы

Сам UDP не предоставляет средства, чтобы определить, успешно ли получено сообщение клиентом или нет. Вам нужен TCP, чтобы установить надежное соединение и после того, как оно отправляет данные по UDP.

Самым низким накладным решением будет такая вещь, как предложено Jdupont. Вы также можете изменить, чтобы использовать TCP, который предоставляет вам это средство для вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top