Отправлять кормовые байты, пока фактические данные ответа не будут готовы?

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

Есть ли способ отправить данные fodder/throwAway, пока я генерирую реальные данные, чтобы предотвратить/избежать тайм-аута, но таким образом, который позволяет мне указать клиенту игнорировать/отбрасывать данные fodder, как только я буду готов начать отправлять "настоящие" данные?


person lance    schedule 19.01.2010    source источник
comment
stackoverflow.com/questions/1160888/, похоже, поддерживает ответы Эйлона и/или Джона Феминеллы. Интригующий...   -  person lance    schedule 19.01.2010


Ответы (2)


Если первые несколько байтов закодированного содержимого всегда одинаковы, вы можете очень медленно отправлять эти байты обратно. Я не знаком с форматом файла MP3, но если первые несколько байтов всегда являются каким-то магическим (и постоянным) заголовком, этот метод может работать.

Как только начнется кодирование файла, вы можете пропустить первые несколько байтов (поскольку вы их уже отправили) и продолжить оттуда.

person Eilon    schedule 19.01.2010
comment
Это хорошая идея. Мое закодированное содержимое каждый раз начинается по-разному. Ниже я рассмотрел идею Джона Феминеллы и прокомментирую результаты этой работы. - person lance; 20.01.2010

У вас может быть статическое по умолчанию «привет, добро пожаловать на стрим Лэнса!» поток выходит, пока вы создаете реальную сделку.

person John Feminella    schedule 19.01.2010
comment
Я сделал это, и это сработало, но только для некоторых медиаплееров. Оказывается, чтобы заставить его работать во всех медиаплеерах, потребуется опыт работы с файлами MP3, которого сейчас просто нет в моем расписании. Связано: stackoverflow.com/questions/2099301/ - person lance; 20.01.2010
comment
Это правда; вам придется изменить заголовки MP3, чтобы длина увеличивалась на время воспроизведения вашего приветственного потока. - person John Feminella; 20.01.2010