Дело в том, что это больше вопрос содержания, чем проблема времени. Протокол TCP требует, чтобы пакет, который не был доставлен, был проверен, проверен и доставлен. UDP не использует это требование. Таким образом, если вы отправили файл, содержащий миллионы пакетов, используя UDP, например видео, если некоторые пакеты отсутствуют при доставке, они, скорее всего, останутся без ответа.

ько что пришла домой с экзамена по сетевому программированию, и один из вопросов, которые нам задали, был«Если вы собираетесь передавать потоковое видео, будете ли вы использовать TCP или UDP? Дайте объяснение как для сохраненного видео, так и для потокового видео в реальном времени», На этот вопрос они просто ожидали краткого ответа TCP для сохраненного видео и UDP для живого видео, но я думал об этом по пути домой, и обязательно ли лучше использовать UDP для потокового видео в реальном времени? Я имею в виду, если у вас есть пропускная способность и вы говорите, что транслируете футбольный матч или концерт в этом отношении, вам действительно нужно использовать UDP?

Допустим, во время потоковой передачи этого концерта или чего-либо еще с использованием TCP вы начинаете терять пакеты (что-то плохое произошло в какой-то сети между вами и отправителем), и в течение целой минуты вы не получаете никаких пакетов. Видеопоток приостановится, и через минуту пакеты снова начнут проходить (IP нашел для вас новый маршрут). Затем произойдет то, что TCP будет ретранслировать потерянную минуту и ​​продолжать отправлять вам прямой эфир. Предполагается, что полоса пропускания выше, чем скорость потока в потоке, и пинг не слишком высок, поэтому в течение короткого промежутка времени потерянная минута станет для вас буфером для потока. , если потеря пакета произойдет снова, вы не заметите.

Теперь я могу вспомнить некоторые устройства, для которых это не очень хорошая идея, например, видео-конференции, где вынужно чтобы всегда быть в конце потока, потому что задержка во время видео-чата просто ужасна, но во время футбольного матча или концерта, какое это имеет значение, если вы находитесь на одну минуту позади потока? Кроме того, вам гарантировано, что вы получите все данные, и было бы лучше сохранить их для последующего просмотра, когда они поступят без ошибок.

Так что это подводит меня к моему вопросу. Есть ли какие-либо недостатки, которые я не знаю об использовании TCP для прямой трансляции? Или это действительно так, что если у вас есть пропускная способность для этого, вы должны пойти на TCP, учитывая, что это «лучше» для сети (управление потоком)?

 Alxandr31 мая 2011 г., 14:42
Не совсем согласен с тем, что это домашнее задание, наконец, теперь, когда я закончил курс, но, ну да ладно ... :)
 bestsss08 июн. 2011 г., 17:29
вы не можете использовать TCP без какой-либо встроенной задержки (это все, с чем все согласны), но вы можете использовать TCP + UDP, чтобы обеспечить хорошее качество записи сеанса.

Ответы на вопрос(0)

Ваш ответ на вопрос