2016-12-11 3 views
1

Я ищу, чтобы настроить сервер, который будет считываться с некоторого устройства ввода аудио и непрерывно обслуживать этот звук для клиентов.Непрерывный поток загрузки аудио

Мне не нужно, чтобы звук был обязательно воспроизведен клиентом в реальном времени. Я просто хочу, чтобы клиент мог начать загрузку с того момента, когда он присоединился, а затем снова уйти.

Скажем, сервер передает 30 секунд аудиоданных, клиент может подключиться через 5 секунд и загрузить 10 секунд (давая их 0:05 - 0:15).

Можете ли вы выполнить такую ​​частичную загрузку через TCP, начиная с того момента, когда клиент подключится и закончится воспроизведением аудиофайла?

Извините, если этот вопрос является слишком широким, а не вопросом, как задать заданную переменную x в y. Дайте мне знать, если есть лучший форум для публикации этого сообщения.

ответ

0

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

Похоже на то, что вы хотите, это простой потоковый потоковый интернет-поток HTTP, который обычно предоставляется серверами SHOUTcast и Icecast. Я рекомендую Icecast начать работу. Пользователь подключается, они получают небольшой буфер за несколько секунд вперед, чтобы запустить их (необязательно), и когда они отключаются, вот и все.

+0

Привет, спасибо за ответ. Я купил TCP-соединение, поскольку я знаю, что хочу весь файл за период, когда они подключены к загрузке. Я снова посмотрю на icecast и SHOUTcast (я наткнулся на них, но не дал им достаточно времени), спасибо. Возможно, то, что я на самом деле прошу, заключается в том, как делать теоретически бесконечные загрузки файлов с сервера. Возможно, что-то вроде twitter делает, чтобы подписаться на поток через http https://dev.twitter.com/streaming/overview – freebie

Смежные вопросы