LINUX.ORG.RU

Как пинать веб-браузер?

 ,


0

1

пример:

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

Как вариант можно использовать exec для запуска браузера со специальной урлой, но это не очень годится, т.к. сигнал хотелось бы обрабатывать на уже открытой странице.

В принципе можно опрашивать постоянно через ajax, websockets, но это как-то геморрой - придётся добавлять веб-обработчик на приложение.

Есть ли ещё какие-либо способы заставить браузер среагировать на внешние раздражения?

★★★

Ответ на: комментарий от visual

да там 10 строчек. тогда смотри какие браузеры dbus поддерживают и через него пинай(epiphany или midori возможно)

pawnhearts ★★★★★ ()

QR запилить уже советовали?

Как пинать веб-браузер?

Тебе не кажется бредовой сама постановка вопроса? Потому что обычно все наоборот происходит, браузер пинает сервер.

linuxnewb ()

Вот в это приложение и встраивается крохотный веб-сервер Mongoose, сотоящий из... одного .c да одного заголовочного файла. В удалённом браузере потом открывается страничка с него, и готово.

gag ★★★★★ ()
Ответ на: Призовем духов. от Deleted

Вебсокеты допиливаю: уже работает, но сегфолтится. Ищу, что за беда.

А ТСу можно и по-старинке сделать: раз в N секунд посылать запрос; если данные есть — обработать; нет — ждать дальше.

Eddy_Em ☆☆☆☆☆ ()

Я не спец, но есть браузер uzbl, который отлично скриптуется на питоне. Рекомендую посмотреть в его сторону.

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от DELIRIUM

ТС просто неправильно задачу поставил. Сначала ему ТЗ продумать надо по-человечески, а не велосипедить черт знает что.

Eddy_Em ☆☆☆☆☆ ()

Браузер критичен или можно привязаться к определённому? Для лисы есть MozRepl, плагин, который позволяет телнетом подключаться к браузеру и запускать js.

Reaper ★★ ()

В принципе можно опрашивать постоянно через ajax, websockets, но это как-то геморрой - придётся добавлять веб-обработчик на приложение.

(не зная специфики твоего приложения) это как раз правильно. не зависимо от твоей лени или умения работать с JS

ZuBB ★★★★★ ()

В принципе можно опрашивать постоянно через ajax, websockets, но это как-то геморрой - придётся добавлять веб-обработчик на приложение.

Никакого гемора. Устанавливаешь из браузера соединение используя Socket.IO:

@socket = io.connect("http://localhost")

и в нужный момент с сервера просто шлёшь данные:

@app = require("http").createServer handler
@io = require("socket.io").listen @app 

@io.sockets.on "connection", (socket) ->
  # тут цикл, по выполнению некого условия:
    socket.emit "fire", {param1: value1}
}

принимаешь в клиенте:

@socket.on "fire", (data) ->
  do_something()

Всё просто.

Reaper ★★ ()
Ответ на: комментарий от Eddy_Em

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

Что-то простое как kill -s USR1 pid

visual ★★★ ()
Ответ на: комментарий от visual

Еще раз: ты неправильно смотришь на решение задачи.

Eddy_Em ☆☆☆☆☆ ()

Не пинай браузер. Правильней добавить в приложение твоё крохотный сервер, который браузер будет опрашивать, лучше найти какой-нибудь легкий websocket сервер и + написать 15-20 строчек на js для браузера.

Megamozg ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.