Я передаю файл (MP3), который начинает воспроизводиться на клиенте после получения 100 КБ. Мне нужно идеальное воспроизведение.
Мне нужно фрагментировать файл, чтобы его можно было буферизовать на клиенте, поэтому было бы лучше использовать UDP + какой-то собственный надежный протокол доставки? (Предполагая, что я держу дейтаграммы небольшими ~ 1400 байт)
Или я должен просто использовать TCP? Если TCP - до какого размера я должен фрагментировать файл для лучшей производительности - я предполагаю, что это будет связано с размером пакета TCP?
Я где-то читал, что причина использования TCP вместо протокола надежности UDP + заключается в том, что TCP делает некоторые причудливые вещи, управляя/разделяя пропускную способность с другими приложениями, тогда как UDP жадный. Это правда? Если да, то если бы я решил использовать UDP, означало бы это, что при потоковой передаче нескольким клиентам одновременно мне пришлось бы включать какие-то причудливые алгоритмы для разделения пропускной способности?