Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проксирующий/кэширующий "сервер" [2]
Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014
Помог: 10 раз(а)
[+]
Ну если честно, создать хороший прокси на пхп, да еще со сложной логикой типа объединения запросов - очень не тривиальная задача. Совсем не уровня новичка.
----- self-banned
ArtyShock
Отправлено: 19 Мая, 2015 - 20:42:45
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2015
Помог: 0 раз(а)
Проверил.. сам виноват что сразу не проверил через print_r полный ответ.
А сделал как в примере и поверил описанию $_SERVER в кот. они не описаны
Получил что то типа
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2015
Помог: 0 раз(а)
Забросил на время эту тему, теперь наступило время продолжить..
Есть технический вопрос, конечно не совсем php касается.
Что бы эмулировать ответ сервера в этом прокси мне нужно точно и подробно знать а как отвечает обычный сервер с медиаконтентом.
Допустим временно использую свой сервер с апачем. Дефолтный Лог апача как по мне не очень то информативен. Как можно или расширить лог или еще как со стороны подойти (например трафик ловить) что бы увидеть точно как сервак отдает (headers, размеры) контент на запрос медиажелезяки? Всё это для того что бы я мог давать внутри прокси верные ответы на запрос контента..
DeepVarvar
Отправлено: 28 Июня, 2015 - 00:40:27
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
ArtyShock пишет:
Посредник на php смотрит.. ага запросил 10 гетов подряд по 5кб.. - подожди, я заберу с медиасервера одним 50кб (или вообще впрок 5мб (но не все 5Гиг - некуда)) и тебе отдам 10 раз по 5 как хотел, но медсервер при этом не страдает от множественных запросов.
когда придет дофига запросов, то сервер уже будет лежать и php будет глубоко какать, на то сколько ему запросов обработать.
Вы решили залепить ещё одну прокладку... Может все же лучше взять специализированные решения для стрима?
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
DeepVarvar пишет:
ты ему только заголовочки предлагаешь подсмотреть
ArtyShock пишет:
увидеть точно как сервак отдает (headers, размеры) контент на запрос медиажелезяки
(Добавление)
Ну мне этого хватило, чтобы сделать "прокладку", гонять через проксю заголовки.
заголовки клиента -> получил -> отдал целевому серверу ->
получил заголовки -> отдал клиенту.
И т.д.
Всё работает (переметка и т.д.), но отклик дольше, чем если бы отдавался напрямую физически видео-файл.
Было бы место, можно было бы сохранять у себя видеофайл в моём случае.
Ну да ладно, пример был относительно заголовков.
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2015
Помог: 0 раз(а)
Ух, спасибо за материал. Будет над чем подумать (в 1:30 пока не получается )
P.S. .... когда уже "спасибоспособность" появится?....
armancho7777777
Отправлено: 29 Июня, 2015 - 01:41:38
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
armancho7777777 пишет:
получил заголовки -> отдал клиенту
Ну конечно же с полученным ответом.
Видео же мотают, и надо отдать заголовок Range, чтобы получить видео с необходимого участка time line.
(Добавление)
ArtyShock пишет:
P.S. .... когда уже "спасибоспособность" появится?....
Не парьтесь. Не суть.
После 50-ти сообщений на форуме. (Добавление)
Клиент обращается к серверу и получает Content-Type и Content-Length.
Затем отправляет заголовки Range, If-Range.
При перемотке так же - отдаёт Range, получает ответ.
По сути, работает в целом так же, как при скачивании файлов с докачкой. (Добавление)
ArtyShock пишет:
но сам контент забирается клиентом таки с целевого сервера а не выплевывается прокладкой?
Обращение к "прокладке", которая получает/отдаёт ответ. (Добавление)
(Добавление)
id - идентификатор записи в таблице БД, где лежат реальные ссылки на видео/аудио файл.
Контроллер разруливает это дело, скармливая url выше приведённой функции video и отдаёт ответ.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.