Перейти к содержимому
Калькуляторы

Еще один HTTP-UDP прокси

Привет vladd,

 

Заметил такую проблему что по timeout не закрываються конекты

 

225.2.2.129:1234 total packets=544029992 bufpos=1991

x.109.235.134 time=20038:5, queue=1333 fd=94 in_epoll=0 overruns=130030

x.109.235.134 time=20116:46, queue=1245 fd=93 in_epoll=0 overruns=130540

x.109.235.134 time=20271:38, queue=273 fd=92 in_epoll=0 overruns=131546

x.109.235.134 time=20429:6, queue=3495 fd=91 in_epoll=0 overruns=132563

x.109.235.134 time=20436:16, queue=1446 fd=89 in_epoll=0 overruns=132614

 

Можно ли установить timeout если overruns превысит какого то значения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно ли установить timeout если overruns превысит какого то значения?

Странно, видимо какие-то подвисшие сессии. Сделаю в следующей версии, с тредами.

 

А что говорит tcpdump на x.109.235.134 ? Трафик бежит или нету?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если такая проблема есть, доработать не сложно - либо в iptables, либо ограничением количества подключений с одного IP в самой софтине. Это явно не тянет на фатальный баг. У нас внутри сети ддосеров не наблюдалось, а в открытый интернет сервер не светим.

А тут особые досеры не нужны, достаточно немного глючных или любопытных клиентов.

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

Например так: клиент быстро переключает каналы, в теории, иногда может получатся что соединение уже установлено а запрос ещё не отправлен, тут уже нужно др канал включать, плеер закрывает соединение и делает всё с начала. Но пакетик закрытия тоже может потеряться, особенно если это вафля какая то.

Фаер конечно спасёт сервер (софтину) но клиент останется без кина.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно ли установить timeout если overruns превысит какого то значения?

Странно, видимо какие-то подвисшие сессии. Сделаю в следующей версии, с тредами.

 

А что говорит tcpdump на x.109.235.134 ? Трафик бежит или нету?

 

Трафика нету. Я заметил такое появляеться когда ты за НАТ-ом

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А тут особые досеры не нужны, достаточно немного глючных или любопытных клиентов.

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

Таймаут кстати есть, и на подключение запроса (5 секунд), и на дохляков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

таймаут есть, с этим все ок

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если в одной из мультикаст групп внезапно прекратилось вещание - что произойдёт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Перестанут увеличиваться принятые пакеты в статистике, через минуту все клиенты на этой группе будут сброшены. А что должно произойти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vladd У меня почему-то внезапно перестал проксировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vladd У меня почему-то внезапно перестал проксировать.

 

Ошибку исправил, она была довольно ламерская. Через неделю-две после запуска зависало. Патч прилагаю.

 

Кстати, есть возможность запрашивать /test - для проверки в nagios, что все работает нормально. Сейчас делаю, чтобы он возвращал ошибку с кодом, если какие-то каналы вдруг перестали идти.

itcp1.patch.gz

Изменено пользователем vladd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господа умельцы, скомплируйте пожалуйста свежую версию relaying под фрю 64bit. Исходники на haskell - ТУТ

Изменено пользователем Eugik

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знаю, как Вы, но я доволен xproxy от astra. Бесплатно и мощно.

Конечно есть и расширенная версия за денежку, но бесплатной хватает с лихвой.

Изменено пользователем morf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там как то много багов, и каждый раз багфикс на багфикса: https://bitbucket.org/cesbo/astra/commits/all

я уже начинаю думать что мне проще дописать работу с двб и вообще забыть про астру, чем обновлять по несколько раз в неделю :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Также в приведённой ссылке можно увидеть насколько активно развивается проект.

Багов нет, пока приложения уровня hello world или им никто не пользуется.

А вы как обычно сравниваете несравнимое - мой репозиторий и... в данном случае ваше ничего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пользуясь случаем раскажу об xProxy.

Приложение основанное на Астре, для ретрансляции цифрового ТВ по HTTP.

Не требует файлов конфигурации, параметры источника получает из URL запроса.

Источником могут быть потоки UDP, RTP, HTTP (в том числе и mpeg-ts файлы).

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

Отключение от источника если нет активных клиентов.

Приложение работает на любых платформах, в том числе и на Windows и различных встроенных системах (роутеры, STB и т.п.).

Очень экономно расходует ресурсы. Обеспечивает высокую производительность.

Приложение с открытым исходным кодом и бесплатно.

Более подробная информация на странице проекта: https://cesbo.com/solutions/xproxy/

Изменено пользователем and_cesbo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Также в приведённой ссылке можно увидеть насколько активно развивается проект.

Багов нет, пока приложения уровня hello world или им никто не пользуется.

А вы как обычно сравниваете несравнимое - мой репозиторий и... в данном случае ваше ничего.

Я не сравниваю а жалуюсь, как пользователь астры :)

От астры мне нужен только mpeg2-ts поток от тюнера, побитый на каналы и декодированный, по юдп или хттп.

 

Приключения с не лочащимися тюнерами, потерей залочек, горождение пачки ньюкамов по одному на каждый канал чтобы оно стабильно работало когда там таймаут ответа от оскама, отсутствие задержки декодирования чтобы гарантированно дождаться ключика от оскама - меня парят.

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

Половина из этого простые и очевидные вещи, которые за неделю можно было сделать и оттестировать 10 раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Половина из этого простые и очевидные вещи, которые за неделю можно было сделать и оттестировать 10 раз.

 

Иван, а где ваши коммиты в астре?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оно мне надо?

Код для работы с интерфейсами по именам я кидал на форуме, остальное автору быстрее сделать, а у меня мотивации разбираться во внутреннем устройстве нет, я скорее себе DVB и newcam допишу :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оно мне надо?

Код для работы с интерфейсами по именам я кидал на форуме, остальное автору быстрее сделать, а у меня мотивации разбираться во внутреннем устройстве нет, я скорее себе DVB и newcam допишу :)

 

Иван, раз вы ничего не сделали из перечисленного, то почему вы заявляете, что это делать и тестировать неделю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приключения с не лочащимися тюнерами, потерей залочек, горождение пачки ньюкамов по одному на каждый канал чтобы оно стабильно работало когда там таймаут ответа от оскама, отсутствие задержки декодирования чтобы гарантированно дождаться ключика от оскама - меня парят.

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

Половина из этого простые и очевидные вещи, которые за неделю можно было сделать и оттестировать 10 раз.

 

Насколько я знаю в текущей версии с DVB всё стабильно, конечно если DVB-адаптер исправен.

В текущей версии можно использовать одно newcamd подключение на несколько каналов

Задержка для дешифрования пакетов запланирована и со временем будет реализована.

Если на канале нет активных клиентов (по HTTP) то источник отключается, соответственно дешифрование канала работать не будет.

 

Простые и очевидные вещи, а также все обращения записываются в список задач, за неделю "можно сделать и оттестировать 10 раз" если приложение уровня "Hello, world" и других задач нет. А так, есть приоритет по задачам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

просто Ивану нужно перед кем то покрасоваться)) на форуме то у Андрея непередкем

 

кстати раз уж упомянули астру, то делаем в ней простой конфиг

makechannel

http input

http output

и все плохо, даже банальный vlc лучше справляется

 

поэтому качество udp <> http, http <> udp в астре под сомнением

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

добавьте параметр sync для http-input, будет использоваться буферизация входящего потока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Иван, раз вы ничего не сделали из перечисленного, то почему вы заявляете, что это делать и тестировать неделю?

Добавить параметр типа cas_singleconn=1 и сделать чтобы при этом создавался новый объект newcam при нормальной архитектуре приложения сделать должно быть просто.

Сделать промежуточный буфер после чтения из dvb и перед расшифровкой вообще не должно быть проблемой даже при самом ужасном коде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В текущей версии можно использовать одно newcamd подключение на несколько каналов

А хотелось бы чтобы один раз описал newcam а каждый канал создавал своё подключение к newcam серверу, а то как залипнет пакет в оскаме и привет пачке каналов.

 

Задержка для дешифрования пакетов запланирована и со временем будет реализована.

Скорей бы уже :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.