РАЗРАБОТКА СИСТЕМЫ ТРАНСЛЯЦИИ АУДИО ПО СЕТИ - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

РАЗРАБОТКА СИСТЕМЫ ТРАНСЛЯЦИИ АУДИО ПО СЕТИ

Буртыкин Д.А. 1
1Самарская Государственная Областная Академия (Наяновой)
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

Основной целью работы было тестирование взаимодействия через сеть написанных на ЯП Java приложений; для этого была определена задача - создание клиент-серверного приложения для считывания, передачи через локальную сеть и Интернет, а так же воспроизведения аудиофайлов.

Современные приложения для организации аудиоконференций делятся на две категории – использующие формат “клиент-клиент” (подразумевающий, что каждый участник конференции одновременно получает и передаёт данные всем остальным участникам конференции) и “сервер-клиенты” (при использовании которого все исходящие данные от клиентов передаются на сервер, после чего они передаются всем клиентам обратно). Каждый из этих форматов имеет свои недостатки, которые были учтены в процессе разработки решения задачи.

Для работы со звуком в Java используется стандартный пакет javax.sound, для передачи потока данных используется тип TargetDataLine. Для считываемого звука задаётся новый формат (AudioFormat), аргументом является шаблонный файл, с которого копируется вся необходимая информация.

Благодаря технологии сокетов (объектов стандартного пакета java.net), совмещающих в себе информацию об IP-адресе и порте, через который передаются данные, программирование сетевых решений на Java значительно облегчено в сравнении с конкурирующими языками программирования.

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

1

Просмотров работы: 889