|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.10.2013, 01:04 | #1 |
Регистрация: 18.06.2012
Сообщений: 7
|
вопрос по socket
Добрый день уважаемые форумчане. Возник вопрос по программированию сокетов.
Вопрос собственно в следующем, имеется нативная последовательноть, socket/bind/listen/accept которая должна читать файл/файлы видео, в формате webm и отправлять клиенту. Проблема встала в том, что файл читается черезмерно быстро, и вся эта куча отправляется клиенту, а хотелось бы отправлять не весь сразу, а по мере необходимости подгружать следующую часть. Следующее, в чём встала проблема, когда пытаюсь подменить дескриптор файла, для посылки клиенту, клиент (браузер) просто перестаёт воспринимать видео и останавливает воспроизведение. |
23.10.2013, 08:22 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
23.10.2013, 10:50 | #3 |
Регистрация: 18.06.2012
Сообщений: 7
|
Ну не факт, что он будет маленьким. Иногда придётся передавать фильм по сети, а это как минимум 700MB
|
23.10.2013, 11:14 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хм... Собственно не вижу проблемы. В функции чтения ограничь буффер принимаемых данных и укажи кол-во байт, которые считываются.
Я по крайней мере так делаю в цикле пока все на считается. Покажи код считывания.
I'm learning to live...
|
23.10.2013, 11:46 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Надо читать кусок файла, потом посылать клиенту, потом ждать через таймер прежде чем послать следующий кусок.
|
23.10.2013, 20:51 | #6 |
Регистрация: 18.06.2012
Сообщений: 7
|
Вот собственно код.
Код:
|
23.10.2013, 22:37 | #7 |
Регистрация: 18.06.2012
Сообщений: 7
|
попробовал ограничить, ничего не получилось, всё равно при переключении на следующий файл воспроизведение останавливается. Я что-то делаю не так, но вероятно не понимаю масштаб трагедии.
Вот привожу на всякий случай весь код программы: Код:
Последний раз редактировалось ulcigor; 23.10.2013 в 22:42. |
24.10.2013, 09:18 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Для того, чтоб понять где ошибка надо знать, какова конечная цель.
Дальше по существу - как вы думаете, что будет, когда закончится отправка *второго* файла? Далее, пока вы не отправите все файлы новые клиенты подключаться не смогут - это так и задумано? |
24.10.2013, 19:20 | #9 |
Регистрация: 18.06.2012
Сообщений: 7
|
Цель медиа сервер, трансляция видео контента
Когда закончится второй файл, по логике, он снова подргужается и снова должен начать играть. То, что другие клиенты не смогут подключиться, это не важно сейчас, мне главное понять принцип работы медиа сервера. Сейчас успешно отправляется первый файл, но когда программа переключается на второй, плеер просто останавливается, суть в этом, как заставить второй файл, продолжить начинание первого, т.е. без остановки начнётся проигрывания второго файла. |
24.10.2013, 21:11 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Скорее всего ошибка при открытии второго файла.
В результате имеем бесконечный цикл. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос про Socket | Pozitif | Помощь студентам | 4 | 01.12.2011 18:48 |
try except and socket | Pein95 | Общие вопросы Delphi | 2 | 13.05.2011 22:54 |
Socket | IGOMERL | C++ Builder | 1 | 16.03.2011 11:05 |
Socket Get | Editor | Работа с сетью в Delphi | 7 | 22.04.2008 05:48 |
Вопрос про Socket-Ы | NecroSlider | Работа с сетью в Delphi | 5 | 02.08.2007 19:14 |