Потоковая передача файлов по сети с произвольным доступом - Java - PullRequest
0 голосов
/ 22 января 2009

Итак, у меня возникла необходимость проигрывать музыкальные файлы с сервера в сети, в клиентском приложении java. Я думал о Sockets - пусть сервер открывает музыкальный файл в виде потока, а клиент подключается к нему и читает и воспроизводит его как InputStream. Что бы работало - за исключением того, что пользователи AFAICS не смогут искать в файле (что они могут в настоящее время для локальных файлов), потому что я не вижу, как поток Sockets может это поддерживать.

Есть идеи получше? Или способ использовать сокеты для поиска?

JNI? Я не знаю достаточно об этом, чтобы знать, поможет ли это.

(Полностью хромое) последнее средство - использовать подключенные сетевые диски.

Ответы [ 2 ]

2 голосов
/ 22 января 2009

Прежде чем реализовать собственный протокол, стоит взглянуть на Java Media Framework . Он поддерживает потоковое аудио, видео и т. Д. Здесь - это запись в Википедии, если вы хотите описание, написанное людьми.

0 голосов
/ 22 января 2009

Вам нужно определить какой-то протокол, который разрешает произвольный доступ. Самым простым решением, вероятно, было бы использование HTTP и его заголовка «Range» и запрос данных в виде коротких фрагментов.

«Реальные» потоковые протоколы, такие как RTSP , намного сложнее и обычно используют UDP вместо TCP.

...