Pull to refresh
38
0
Send message
Да это так и должно быть — смотри мой коммент ниже со ссылкой на доки ноды. Нужно слушать событие 'upgrade'.
Пришлось пойти посмотреть в исходники engine.io, чтоб понять, что он делает. Потому что там это точно работает.
Еще для информации

Event: 'upgrade'#

function (request, socket, head) { }

Emitted each time a client requests a http upgrade. If this event isn't listened for, then clients requesting an upgrade will have their connections closed.
т.е. callback на http.createServer не вызывается для этого запроса?
а что же происходит с соединением?
вообще это явно HTTP запрос, он не может его просто сбрасывать.
если не может обработать должен выдать код ошибки.
повторюсь я не пробовал с TLS, но по идее на момент апгрейда протокола, безопасное соединение уже установлено и сертификат подтверждать не нужно.

Повесить на один порт с помощью NodeJS можно, я думаю.
Естественно для WebUI это будет прокси, точнее больше похоже на проброс порта.
Вот тут, например, обсуждается вариант. И то не самый лучший. Можно не делать редиректы, просто пайпить и все.
ну в URL есть же не только адрес, порт но и путь.
в socket.io клиент стучится на http://address:port/socket.io
и просит апгрейд протокола до WS
Решение — все на одном порту и апгрейд https до wss.
С TSL не пробовал но HTTP -> WS socket.io так и делает.
nncron, надеюсь, был куплен(зарегистрирован)?
Нужно не канистру а леечку (воронку).
Конструкцию уж додумайте как-то.
В леечку булькнул, подождал 10 сек. если все ок, наливаешь дальше. Если не ок. Идешь «варить воду».
Заодно и из подозрительных канистр проверять удобнее будет.
Но если приложение огромное, то загрузка по частям наоборот комфортнее, чем загрузка сразу всего.
С require можно сделать и так и так и смешанный вариант — т.е. объеденить несколько модулей и загружать их кусками, а browserify альтернативы не дает.
Есть еще один минус. Довольно существенный:

нельзя сделать подгрузку модулей по необходимости, имеется ввиду загрузку приложения по частям
в том числе нельзя сделать асинхронную подгрузку модулей.
Собирал вот недавно несколько раз Node-Webkit (это по сути Chromium + еще 5 реп) на Odroid U3 под официальной Ubuntu 13.10 и 14.04.

Вот инструкция:
gist.github.com/xdenser/ba4454f79d4438d7f2f2

Собирается за 3-4 часа.
Пока не смог побороть Web Audio API. Не хочет работать.
Ну соответственно и аудио теги не работают.
При этом ошибок при сборке с этой стороны вроде не показывает.
Где то что то не так с настройками сборки. Потому что в хромиуме, который в убунте уже был все работает.
Нет не работает, мне он предлагает только TVP и VLC.

И я немного соврал — IPTV плеер не предлагает выбрать проигрыватель при выборе канала, у него просто есть своя настройка, какой плеер использовать. Причем список плееров не соответствует тому, что установлено в системе. Но MX там есть и работает.
И браузер мне в том числе и MX предлагает использовать для видео.
Возможно просто MX не регистрирует себя как обработчик URL для multicast UDP, но проигрывать он их умеет или IPTV плеер умеет их для него готовить.
с VLC после переключения канала есть только звук.
а MX он мне не предлагает выбрать
IPTV плеер например предлагает
MX использовать не умеет. С VLC переключение глючит у меня.
Да в исходниках нашел ссылку на эту статью в Википедии. Youtube можно попросить отдавать только аудио трек. Это не документированная возможность.
И кстати он не информацию об исполнителе берет, а именно ищет через iTunes и LastFm. Т.е. его каталог это каталог iTunes + LastFm + их поиск.
Потом по тайтлу и артисту ищет в ютубе и, если нашлось, то играет.
Интересно пошел искать сервис от youtube для раздачи музыки и не нашел. ну нашел только бесплатные треки для озвучивания.Т.е. это скорее всего хак вокруг youtube API.
Можно попробовать node-webkit отдельно поставить. HipHop на нем работает и даже не упакован. Кстати фактически само приложение это 19кб минимизированного JS кода. Остальное — 4 nodejs модуля, пара картинок и стилей.
Если в цикле развертывания есть этап компиляции (что довольно часто встречается для JS и не только для серверного), то генерация парсера из грамматики вообще не проблема. Считаем исходником грамматику и все.
Если вам просто нужен парсер и нет желания упражняться в его написании, то лучше воспользоваться генератором. Тем более, что часто можно найти готовую грамматику. Ссылка на один из генераторов. Кстати, я им пользовался не совсем по прямому назначению. Обычно парсеры используют для чтения неких документов. У меня же было формализованное описание некого API, описав грамматику я получил сначала парсер для описания, а при помощи парсера получил генератор кода для работы с API.

Information

Rating
Does not participate
Location
Украина
Registered
Activity