Какой протокол я должен использовать для зашифрованной потоковой передачи? - PullRequest
0 голосов
/ 09 июля 2011

Я транслирую файл (MP3), который начинает воспроизводиться на клиенте после получения 100 КБ.Мне нужно идеальное воспроизведение.

Мне нужно фрагментировать файл, чтобы он мог быть помещен в буфер на клиенте, поэтому было бы лучше здесь использовать UDP + какой-нибудь специальный надежный протокол доставки?(Предполагая, что я сохраняю датаграммы маленькими ~ 1400 байт)

Или я должен просто использовать TCP?Если TCP - какого размера я должен фрагментировать файл для лучшей производительности - я предполагаю, что это будет связано с размером пакета TCP?

Я где-то читал, что причина использования TCP вместо UDP +Протокол надежности заключается в том, что TCP делает какие-то изворотливые вещи, управляя / разделяя полосу пропускания с другими приложениями, тогда как UDP является жадным.Это правда?Если это так, если я решу использовать UDP, будет ли это означать, что, если я транслирую на несколько клиентов одновременно, мне придется включить некоторые причудливые алгоритмы для разделения полосы пропускания?

1 Ответ

2 голосов
/ 09 июля 2011

было бы лучше здесь использовать UDP + какой-нибудь нестандартный надежный протокол доставки?

Не пытайтесь заново изобретать TCP.Вероятно, это лучше, чем что-либо, что вы могли бы приготовить сами.

Или я должен просто использовать TCP?Если TCP - какого размера я должен фрагментировать файл для лучшей производительности - я предполагаю, что это будет связано с размером пакета TCP?

Нет необходимости разбивать файл на части с помощью TCPВ конце концов, это потоковый протокол.Просто начните отправлять все это по соединению, и вы получите данные MP3 по мере их поступления.

...