2013-04-21 1 views
0

При чтении одного из заданий в разделе «Передача данных и сети» Бехруза Форузана, один из вопросов, заданных с использованием UDP для передачи файлов, имеет какие-либо неблагоприятные последствия, связанные с явлением процесса краха.Почему использование UDP для видео по требованию не вызывает перекрестных помех?

Решение этого вопроса говорит о том, что если процесс A запрашивал содержимое файла с сервера X и вскоре после запроса, A разбился, а другой процесс B появился на том же порту на одном компьютере (давая ему тот же адрес сокета) и отправляет запрос на тот же сервер для другого файла, но запрос потерян, что делает сервер неизвестным как сбой процесса, так и с запросом, и, следовательно, он отправляет содержимое файла, заданного A, B.

Почему эта проблема не возникает в канале видео по требованию, таком как вы или трубка?

Один из ближайших ответов я получил это, но это, кажется, не решить мою проблему:

UPDATE: Для людей, которые хотели бы иметь прочитав вопрос, указанный в книге, я нашел онлайн-версию требуемой части, пожалуйста, ознакомьтесь с 8-м вопросом PDF:

ответ

0

В теории проблема может произойти, но в реальной жизни? Не случайно.

Предположим, пользователь хочет передать видео с Youtube с помощью браузера.

  1. Браузер должен потерпеть крах - реалистично не происходит слишком часто.
  2. Новый экземпляр браузера берет тот же самый источник UDP-порта - практически никогда не происходит.
  3. Пользователь решает посмотреть другое видео - не имеет смысла.
  4. Хотя все это происходит, серверная сторона не уходит в прошлое - я так не думаю.

Это как утверждение о том, что TCP следует использовать, потому что пакет может упасть на проводе, когда два компьютера подключены обратно к одному кабелю с одним метром.

+0

Я согласен с тем, что ситуация может не произойти часто, но даже если бы это случилось однажды, если бы это действительно имело эффект, данный в вопросе? Кстати, почему новый браузер (или вкладка) не будет использовать тот же UDP-порт? Он заблокирован или что-то на время? PS: Каждая вкладка имеет другой порт, поэтому даже для сглаживания вкладки достаточно, чтобы вызвать эффект (хотя обычно этого не происходит) – jobin

+0

В принципе, я не думаю, что в реальной жизни ситуация не будет. Я думаю, что исходные UDP-порты выбираются случайным образом из доступных портов, поэтому маловероятно, что один и тот же исходный порт будет выбран назад. На мой взгляд, единственный способ для этого - заставить его произойти, реализуя сервер/клиент таким образом. И целью этого может быть просто утверждение, что «в этой гипотетической среде TCP будет вести себя по-другому». – wookie919

+0

Спасибо, @ wookie919! Это было очень информативно о вас :) – jobin